home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 9 / AMUG BBS in a Box Volume IX (August 1993) (MacWizards).iso / Files / Prog / T / Tabedit.cpt / Tabedit / tabglue.asm < prev    next >
MacBinary  |  1987-07-01  |  21.5 KB  |  [TEXT/EDIT]

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: MacBinary (archive/macBinary).

You can browse this item here: tabglue.asm

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert freeCAD assembly (other/freeCADAssembly) ext Unsupported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Wed Jul 1 02:48:49 1987, modified Wed Jul 1 02:48:49 1987, creator Macintosh Edit, type ASCII, 21386 bytes "tabglue.asm" , at 0x540a 348 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[EDIT]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0b 74 61 62 67 6c 75 | 65 2e 61 73 6d 00 00 00 |..tabglu|e.asm...|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 45 44 49 | 54 01 00 00 00 00 00 00 |.TEXTEDI|T.......|
|00000050| 00 00 00 00 00 53 8a 00 | 00 01 5c 9d 0e 61 51 9d |.....S..|..\..aQ.|
|00000060| 0e 61 51 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.aQ.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 d8 db 00 00 |........|........|
|00000080| 3b 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |;*******|********|
|00000090| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000c0| 2a 0d 3b 0d 3b 09 74 61 | 62 67 6c 75 65 2e 61 73 |*.;.;.ta|bglue.as|
|000000d0| 6d 0d 3b 0d 3b 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |m.;.;***|********|
|000000e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000100| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000110| 2a 2a 2a 2a 2a 0d 0d 3b | 2a 2a 2a 2a 2a 2a 2a 2a |*****..;|********|
|00000120| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000130| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000140| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000150| 2a 2a 2a 2a 2a 2a 2a 2a | 0d 3b 09 69 6e 63 6c 75 |********|.;.inclu|
|00000160| 64 65 73 0d 3b 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |des.;***|********|
|00000170| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000180| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000190| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000001a0| 2a 2a 2a 2a 2a 0d 0d 69 | 6e 63 6c 75 64 65 09 74 |*****..i|nclude.t|
|000001b0| 72 61 70 73 2e 64 0d 69 | 6e 63 6c 75 64 65 09 74 |raps.d.i|nclude.t|
|000001c0| 6f 6f 6c 65 71 75 2e 64 | 0d 0d 3b 2a 2a 2a 2a 2a |oolequ.d|..;*****|
|000001d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000001e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000001f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000200| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0d 3b 09 78 64 |********|***.;.xd|
|00000210| 65 66 73 0d 3b 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |efs.;***|********|
|00000220| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000230| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000240| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000250| 2a 2a 2a 2a 2a 0d 0d 09 | 78 64 65 66 09 74 61 62 |*****...|xdef.tab|
|00000260| 74 78 6d 65 61 73 0d 09 | 78 64 65 66 09 74 61 62 |txmeas..|xdef.tab|
|00000270| 74 78 77 72 69 74 65 0d | 09 78 64 65 66 09 74 61 |txwrite.|.xdef.ta|
|00000280| 62 74 65 64 6f 74 65 78 | 74 0d 09 78 64 65 66 09 |btedotex|t..xdef.|
|00000290| 74 61 62 6c 69 6e 65 73 | 74 61 72 74 0d 0d 3b 2a |tablines|tart..;*|
|000002a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000002b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000002c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000002d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0d |********|*******.|
|000002e0| 3b 09 67 6c 6f 62 61 6c | 73 0d 3b 2a 2a 2a 2a 2a |;.global|s.;*****|
|000002f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000300| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000310| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000320| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0d 0d 09 78 72 |********|***...xr|
|00000330| 65 66 09 73 74 64 74 65 | 64 6f 74 65 78 74 0d 09 |ef.stdte|dotext..|
|00000340| 78 72 65 66 09 73 74 64 | 6c 69 6e 65 73 74 61 72 |xref.std|linestar|
|00000350| 74 0d 09 78 72 65 66 09 | 6e 6f 77 74 65 0d 09 78 |t..xref.|nowte..x|
|00000360| 72 65 66 09 6e 6f 77 74 | 61 62 73 0d 0d 3b 2a 2a |ref.nowt|abs..;**|
|00000370| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000380| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000390| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000003a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0d 3b |********|******.;|
|000003b0| 09 65 71 75 61 74 65 73 | 0d 3b 2a 2a 2a 2a 2a 2a |.equates|.;******|
|000003c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000003d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000003e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000003f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 0d 0d 74 6f 70 09 |********|**..top.|
|00000400| 65 71 75 09 30 0d 6c 65 | 66 74 09 65 71 75 09 32 |equ.0.le|ft.equ.2|
|00000410| 0d 62 6f 74 74 6f 6d 09 | 65 71 75 09 34 0d 72 69 |.bottom.|equ.4.ri|
|00000420| 67 68 74 09 65 71 75 09 | 36 0d 0d 74 61 62 77 69 |ght.equ.|6..tabwi|
|00000430| 64 74 68 09 65 71 75 09 | 34 0d 6c 61 73 74 74 61 |dth.equ.|4.lastta|
|00000440| 62 09 65 71 75 09 36 0d | 74 61 62 73 09 65 71 75 |b.equ.6.|tabs.equ|
|00000450| 09 38 0d 0d 3b 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.8..;***|********|
|00000460| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000470| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000480| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000490| 2a 2a 2a 2a 2a 0d 3b 09 | 6c 61 62 65 6c 73 20 66 |*****.;.|labels f|
|000004a0| 6f 72 20 64 65 62 75 67 | 67 65 72 0d 3b 2a 2a 2a |or debug|ger.;***|
|000004b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000004c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000004d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000004e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0d 0d 09 |********|*****...|
|000004f0| 78 64 65 66 09 73 65 74 | 63 61 72 65 74 0d 09 78 |xdef.set|caret..x|
|00000500| 64 65 66 09 68 69 74 74 | 65 73 74 0d 09 78 64 65 |def.hitt|est..xde|
|00000510| 66 09 68 69 6c 69 74 65 | 0d 0d 3b 2a 2a 2a 2a 2a |f.hilite|..;*****|
|00000520| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000530| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000540| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000550| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 0d 3b 0d 3b 09 |********|***.;.;.|
|00000560| 74 61 62 74 65 64 6f 74 | 65 78 74 0d 3b 0d 3b 09 |tabtedot|ext.;.;.|
|00000570| 6f 6e 20 65 6e 74 72 79 | 3a 0d 3b 09 09 41 33 09 |on entry|:.;..A3.|
|00000580| 70 6f 69 6e 74 65 72 20 | 74 6f 20 6c 6f 63 6b 65 |pointer |to locke|
|00000590| 64 20 65 64 69 74 20 72 | 65 63 6f 72 64 0d 3b 09 |d edit r|ecord.;.|
|000005a0| 09 41 34 09 68 61 6e 64 | 6c 65 20 74 6f 20 65 64 |.A4.hand|le to ed|
|000005b0| 69 74 20 72 65 63 6f 72 | 64 0d 3b 09 09 44 33 09 |it recor|d.;..D3.|
|000005c0| 70 6f 73 69 74 69 6f 6e | 20 6f 66 20 66 69 72 73 |position| of firs|
|000005d0| 74 20 63 68 61 72 61 63 | 74 65 72 20 74 6f 0d 3b |t charac|ter to.;|
|000005e0| 09 09 09 62 65 20 64 72 | 61 77 6e 20 6f 72 20 73 |...be dr|awn or s|
|000005f0| 65 6c 65 63 74 65 64 0d | 3b 09 09 44 34 09 70 6f |elected.|;..D4.po|
|00000600| 73 69 74 69 6f 6e 20 6f | 66 20 6c 61 73 74 20 63 |sition o|f last c|
|00000610| 68 61 72 61 63 74 65 72 | 20 74 6f 0d 3b 09 09 09 |haracter| to.;...|
|00000620| 62 65 20 64 72 61 77 6e | 20 6f 72 20 73 65 6c 65 |be drawn| or sele|
|00000630| 63 74 65 64 0d 3b 09 09 | 44 37 09 20 30 20 74 6f |cted.;..|D7. 0 to|
|00000640| 20 68 69 74 2d 74 65 73 | 74 20 61 20 63 68 61 72 | hit-tes|t a char|
|00000650| 61 63 74 65 72 0d 3b 09 | 09 09 20 31 20 74 6f 20 |acter.;.|.. 1 to |
|00000660| 68 69 67 68 6c 69 67 68 | 74 20 74 68 65 20 73 65 |highligh|t the se|
|00000670| 6c 65 63 74 69 6f 6e 20 | 72 61 6e 67 65 0d 3b 09 |lection |range.;.|
|00000680| 09 09 2d 31 20 74 6f 20 | 64 69 73 70 6c 61 79 20 |..-1 to |display |
|00000690| 74 68 65 20 74 65 78 74 | 0d 3b 09 09 09 2d 32 20 |the text|.;...-2 |
|000006a0| 74 6f 20 70 6f 73 69 74 | 69 6f 6e 20 74 68 65 20 |to posit|ion the |
|000006b0| 70 65 6e 20 74 6f 20 64 | 72 61 77 20 74 68 65 0d |pen to d|raw the.|
|000006c0| 3b 09 09 09 09 63 61 72 | 65 74 0d 3b 0d 3b 09 6f |;....car|et.;.;.o|
|000006d0| 6e 20 65 78 69 74 3a 0d | 3b 09 09 41 30 09 70 6f |n exit:.|;..A0.po|
|000006e0| 69 6e 74 65 72 20 74 6f | 20 63 75 72 72 65 6e 74 |inter to| current|
|000006f0| 20 67 72 61 66 70 6f 72 | 74 0d 3b 09 09 44 30 09 | grafpor|t.;..D0.|
|00000700| 69 66 20 68 69 74 2d 74 | 65 73 74 69 6e 67 2c 20 |if hit-t|esting, |
|00000710| 63 68 61 72 61 63 74 65 | 72 20 70 6f 73 69 74 69 |characte|r positi|
|00000720| 6f 6e 0d 3b 09 09 09 28 | 2d 31 20 66 6f 72 20 6e |on.;...(|-1 for n|
|00000730| 6f 6e 65 29 0d 3b 0d 3b | 2a 2a 2a 2a 2a 2a 2a 2a |one).;.;|********|
|00000740| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000750| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000760| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000770| 2a 2a 2a 2a 2a 2a 2a 2a | 0d 0d 74 61 62 74 65 64 |********|..tabted|
|00000780| 6f 74 65 78 74 0d 09 0d | 09 3b 20 69 66 20 6e 6f |otext...|.; if no|
|00000790| 77 74 61 62 73 20 69 73 | 20 6e 69 6c 2c 20 75 73 |wtabs is| nil, us|
|000007a0| 65 20 74 68 65 20 64 65 | 66 61 75 6c 74 20 64 6f |e the de|fault do|
|000007b0| 74 65 78 74 0d 09 3b 20 | 72 6f 75 74 69 6e 65 2e |text..; |routine.|
|000007c0| 20 20 6f 74 68 65 72 77 | 69 73 65 2c 20 74 65 73 | otherw|ise, tes|
|000007d0| 74 20 44 37 20 61 6e 64 | 20 62 72 61 6e 63 68 0d |t D7 and| branch.|
|000007e0| 09 3b 20 61 63 63 6f 72 | 64 69 6e 67 6c 79 20 28 |.; accor|dingly (|
|000007f0| 75 73 65 20 74 68 65 20 | 64 65 66 61 75 6c 74 20 |use the |default |
|00000800| 72 6f 75 74 69 6e 65 20 | 66 6f 72 0d 09 3b 20 64 |routine |for..; d|
|00000810| 72 61 77 69 6e 67 20 74 | 65 78 74 29 2e 0d 0d 09 |rawing t|ext)....|
|00000820| 74 73 74 2e 6c 09 6e 6f | 77 74 61 62 73 28 41 35 |tst.l.no|wtabs(A5|
|00000830| 29 0d 09 62 65 71 09 40 | 30 0d 09 74 73 74 09 44 |)..beq.@|0..tst.D|
|00000840| 37 0d 09 62 65 71 09 68 | 69 74 74 65 73 74 0d 09 |7..beq.h|ittest..|
|00000850| 62 70 6c 09 68 69 6c 69 | 74 65 0d 09 63 6d 70 09 |bpl.hili|te..cmp.|
|00000860| 23 2d 31 2c 44 37 0d 09 | 62 6c 74 09 73 65 74 63 |#-1,D7..|blt.setc|
|00000870| 61 72 65 74 0d 40 30 09 | 6d 6f 76 65 2e 6c 09 73 |aret.@0.|move.l.s|
|00000880| 74 64 74 65 64 6f 74 65 | 78 74 28 41 35 29 2c 41 |tdtedote|xt(A5),A|
|00000890| 30 0d 09 6a 6d 70 09 28 | 41 30 29 0d 0d 3b 2a 2a |0..jmp.(|A0)..;**|
|000008a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000008b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000008c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000008d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0d 3b |********|******.;|
|000008e0| 0d 3b 09 73 65 74 63 61 | 72 65 74 0d 3b 0d 3b 09 |.;.setca|ret.;.;.|
|000008f0| 6f 6e 20 65 6e 74 72 79 | 3a 0d 3b 09 09 41 33 09 |on entry|:.;..A3.|
|00000900| 70 6f 69 6e 74 65 72 20 | 74 6f 20 6c 6f 63 6b 65 |pointer |to locke|
|00000910| 64 20 65 64 69 74 20 72 | 65 63 6f 72 64 0d 3b 09 |d edit r|ecord.;.|
|00000920| 09 41 34 09 68 61 6e 64 | 6c 65 20 74 6f 20 65 64 |.A4.hand|le to ed|
|00000930| 69 74 20 72 65 63 6f 72 | 64 0d 3b 09 09 44 33 09 |it recor|d.;..D3.|
|00000940| 70 6f 73 69 74 69 6f 6e | 20 6f 66 20 74 68 65 20 |position| of the |
|00000950| 63 61 72 65 74 0d 3b 09 | 09 44 37 09 2d 32 20 74 |caret.;.|.D7.-2 t|
|00000960| 6f 20 70 6f 73 69 74 69 | 6f 6e 20 74 68 65 20 70 |o positi|on the p|
|00000970| 65 6e 20 74 6f 20 64 72 | 61 77 20 74 68 65 0d 3b |en to dr|aw the.;|
|00000980| 09 09 09 09 63 61 72 65 | 74 0d 3b 0d 3b 09 6f 6e |....care|t.;.;.on|
|00000990| 20 65 78 69 74 3a 0d 3b | 09 09 41 30 09 70 6f 69 | exit:.;|..A0.poi|
|000009a0| 6e 74 65 72 20 74 6f 20 | 63 75 72 72 65 6e 74 20 |nter to |current |
|000009b0| 67 72 61 66 70 6f 72 74 | 0d 3b 0d 3b 2a 2a 2a 2a |grafport|.;.;****|
|000009c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000009d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000009e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000009f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0d 0d 73 65 |********|****..se|
|00000a00| 74 63 61 72 65 74 0d 09 | 0d 09 3b 20 70 72 65 73 |tcaret..|..; pres|
|00000a10| 65 72 76 65 20 72 65 67 | 69 73 74 65 72 73 2e 20 |erve reg|isters. |
|00000a20| 20 6c 6f 61 64 20 61 64 | 64 72 65 73 73 20 6f 66 | load ad|dress of|
|00000a30| 20 6c 69 6e 65 73 74 61 | 72 74 73 0d 09 3b 20 69 | linesta|rts..; i|
|00000a40| 6e 20 61 32 2e 20 20 62 | 72 61 6e 63 68 20 74 6f |n a2. b|ranch to|
|00000a50| 20 65 32 20 69 66 20 63 | 61 72 65 74 20 69 73 20 | e2 if c|aret is |
|00000a60| 61 74 20 74 68 65 20 62 | 65 67 69 6e 6e 69 6e 67 |at the b|eginning|
|00000a70| 0d 09 3b 20 6f 66 20 74 | 68 65 20 74 65 78 74 2e |..; of t|he text.|
|00000a80| 0d 0d 09 6d 6f 76 65 6d | 2e 6c 09 44 32 2f 44 36 |...movem|.l.D2/D6|
|00000a90| 2f 44 37 2f 41 32 2c 2d | 28 53 50 29 0d 09 6c 65 |/D7/A2,-|(SP)..le|
|00000aa0| 61 09 74 65 6c 69 6e 65 | 73 28 41 33 29 2c 41 32 |a.teline|s(A3),A2|
|00000ab0| 0d 09 74 73 74 09 44 33 | 0d 09 62 65 71 09 65 32 |..tst.D3|..beq.e2|
|00000ac0| 0d 09 0d 09 3b 20 66 69 | 6e 64 20 74 68 65 20 6c |....; fi|nd the l|
|00000ad0| 69 6e 65 20 6f 66 20 66 | 69 72 73 74 20 63 68 61 |ine of f|irst cha|
|00000ae0| 72 3b 20 41 32 20 70 6f | 69 6e 74 73 20 74 6f 20 |r; A2 po|ints to |
|00000af0| 61 0d 09 3b 20 6c 69 6e | 65 73 74 61 72 74 20 3c |a..; lin|estart <|
|00000b00| 20 64 33 2e 20 20 4f 6e | 20 65 78 69 74 2c 20 41 | d3. On| exit, A|
|00000b10| 32 20 70 6f 69 6e 74 73 | 20 74 6f 20 74 68 65 0d |2 points| to the.|
|00000b20| 09 3b 20 6c 61 73 74 20 | 73 75 63 68 20 6c 69 6e |.; last |such lin|
|00000b30| 65 73 74 61 72 74 2e 0d | 09 0d 40 30 09 63 6d 70 |estart..|..@0.cmp|
|00000b40| 09 32 28 41 32 29 2c 44 | 33 0d 09 62 6c 73 09 40 |.2(A2),D|3..bls.@|
|00000b50| 31 0d 09 61 64 64 71 09 | 23 32 2c 41 32 0d 09 62 |1..addq.|#2,A2..b|
|00000b60| 72 61 09 40 30 0d 09 0d | 09 3b 20 69 66 20 44 33 |ra.@0...|.; if D3|
|00000b70| 20 69 73 20 69 6e 20 74 | 68 65 20 6d 69 64 64 6c | is in t|he middl|
|00000b80| 65 20 6f 66 20 74 68 65 | 20 6c 69 6e 65 2c 20 62 |e of the| line, b|
|00000b90| 72 61 6e 63 68 0d 09 3b | 20 74 6f 20 65 32 2e 20 |ranch..;| to e2. |
|00000ba0| 20 6f 74 68 65 72 77 69 | 73 65 2c 20 73 65 74 20 | otherwi|se, set |
|00000bb0| 41 32 20 74 6f 20 70 6f | 69 6e 74 20 74 6f 20 74 |A2 to po|int to t|
|00000bc0| 68 65 20 6e 65 78 74 0d | 09 3b 20 6c 69 6e 65 73 |he next.|.; lines|
|00000bd0| 74 61 72 74 20 28 77 68 | 69 63 68 20 69 73 20 6e |tart (wh|ich is n|
|00000be0| 65 63 65 73 73 61 72 69 | 6c 79 20 3e 20 44 33 29 |ecessari|ly > D3)|
|00000bf0| 2e 20 20 49 66 0d 09 3b | 20 74 65 6c 65 6e 67 74 |. If..;| telengt|
|00000c00| 68 20 3d 20 30 2c 20 62 | 72 61 6e 63 68 20 74 6f |h = 0, b|ranch to|
|00000c10| 20 65 32 2e 20 20 6f 74 | 68 65 72 77 69 73 65 2c | e2. ot|herwise,|
|00000c20| 20 69 66 0d 09 3b 20 74 | 65 6c 65 6e 67 74 68 20 | if..; t|elength |
|00000c30| 3e 20 44 33 2c 20 62 72 | 61 6e 63 68 20 74 6f 20 |> D3, br|anch to |
|00000c40| 65 30 2e 0d 09 0d 09 3b | 20 63 6f 6d 6d 65 6e 74 |e0.....;| comment|
|00000c50| 73 3a 20 20 69 73 20 74 | 68 65 20 66 69 72 73 74 |s: is t|he first|
|00000c60| 20 63 6d 70 20 6e 65 63 | 65 73 73 61 72 79 3f 20 | cmp nec|essary? |
|00000c70| 20 77 65 20 67 6f 74 0d | 09 3b 20 68 65 72 65 20 | we got.|.; here |
|00000c80| 61 66 74 65 72 20 61 6e | 20 69 64 65 6e 74 69 63 |after an| identic|
|00000c90| 61 6c 20 63 6f 6d 70 61 | 72 69 73 6f 6e 2e 20 20 |al compa|rison. |
|00000ca0| 69 73 20 69 74 0d 09 3b | 20 6e 65 63 65 73 73 61 |is it..;| necessa|
|00000cb0| 72 79 20 74 6f 20 63 68 | 65 63 6b 20 66 6f 72 20 |ry to ch|eck for |
|00000cc0| 74 65 6c 65 6e 67 74 68 | 20 3d 20 30 3f 20 20 44 |telength| = 0? D|
|00000cd0| 33 20 77 6f 75 6c 64 0d | 09 3b 20 68 61 76 65 20 |3 would.|.; have |
|00000ce0| 74 6f 20 62 65 20 7a 65 | 72 6f 2c 20 61 6e 64 20 |to be ze|ro, and |
|00000cf0| 77 65 27 76 65 20 61 6c | 72 65 61 64 79 20 63 68 |we've al|ready ch|
|00000d00| 65 63 6b 65 64 20 66 6f | 72 0d 09 3b 20 74 68 61 |ecked fo|r..; tha|
|00000d10| 74 2e 20 20 73 6f 20 74 | 68 69 73 20 75 6c 74 69 |t. so t|his ulti|
|00000d20| 6d 61 74 65 6c 79 20 64 | 6f 65 73 20 61 20 74 68 |mately d|oes a th|
|00000d30| 72 65 65 2d 77 61 79 0d | 09 3b 20 62 72 61 6e 63 |ree-way.|.; branc|
|00000d40| 68 3a 20 20 74 6f 20 65 | 32 20 69 66 20 69 6e 20 |h: to e|2 if in |
|00000d50| 74 68 65 20 6d 69 64 64 | 6c 65 20 6f 66 20 74 68 |the midd|le of th|
|00000d60| 65 20 6c 69 6e 65 2c 0d | 09 3b 20 74 6f 20 65 30 |e line,.|.; to e0|
|00000d70| 20 69 66 20 61 74 20 74 | 68 65 20 65 6e 64 20 6f | if at t|he end o|
|00000d80| 66 20 61 6e 20 69 6e 74 | 65 72 69 6f 72 20 6c 69 |f an int|erior li|
|00000d90| 6e 65 2c 20 61 6e 64 0d | 09 3b 20 66 61 6c 6c 74 |ne, and.|.; fallt|
|00000da0| 68 72 6f 75 67 68 20 69 | 66 20 61 74 20 74 68 65 |hrough i|f at the|
|00000db0| 20 65 6e 64 20 6f 66 20 | 74 68 65 20 74 65 78 74 | end of |the text|
|00000dc0| 2e 20 20 49 6e 20 74 68 | 65 0d 09 3b 20 6c 61 74 |. In th|e..; lat|
|00000dd0| 74 65 72 20 74 77 6f 20 | 63 61 73 65 73 2c 20 41 |ter two |cases, A|
|00000de0| 32 20 70 6f 69 6e 74 73 | 20 74 6f 20 74 68 65 20 |2 points| to the |
|00000df0| 63 61 72 65 74 20 70 6f | 73 69 74 69 6f 6e 2e 0d |caret po|sition..|
|00000e00| 09 0d 40 31 09 63 6d 70 | 09 32 28 41 32 29 2c 44 |..@1.cmp|.2(A2),D|
|00000e10| 33 0d 09 62 6e 65 09 65 | 32 0d 09 61 64 64 71 09 |3..bne.e|2..addq.|
|00000e20| 23 32 2c 41 32 0d 09 6d | 6f 76 65 09 74 65 6c 65 |#2,A2..m|ove.tele|
|00000e30| 6e 67 74 68 28 41 33 29 | 2c 44 30 0d 09 62 65 71 |ngth(A3)|,D0..beq|
|00000e40| 09 65 32 0d 09 63 6d 70 | 09 44 30 2c 44 33 0d 09 |.e2..cmp|.D0,D3..|
|00000e50| 62 63 73 09 65 30 0d 09 | 0d 09 3b 20 44 33 20 69 |bcs.e0..|..; D3 i|
|00000e60| 73 20 61 74 20 74 68 65 | 20 65 6e 64 20 6f 66 20 |s at the| end of |
|00000e70| 74 68 65 20 74 65 78 74 | 20 28 6f 72 20 70 61 73 |the text| (or pas|
|00000e80| 74 20 69 74 3f 29 2e 0d | 09 3b 20 69 66 20 74 68 |t it?)..|.; if th|
|00000e90| 65 20 63 68 61 72 61 63 | 74 65 72 20 62 65 66 6f |e charac|ter befo|
|00000ea0| 72 65 20 74 68 65 20 63 | 61 72 65 74 20 69 73 20 |re the c|aret is |
|00000eb0| 61 20 72 65 74 75 72 6e | 0d 09 3b 20 6f 72 20 61 |a return|..; or a|
|00000ec0| 20 70 73 65 75 64 6f 2d | 72 65 74 75 72 6e 2c 20 | pseudo-|return, |
|00000ed0| 62 72 61 6e 63 68 20 74 | 6f 20 65 32 2e 20 20 6f |branch t|o e2. o|
|00000ee0| 74 68 65 72 77 69 73 65 | 2c 0d 09 3b 20 62 72 61 |therwise|,..; bra|
|00000ef0| 6e 63 68 20 74 6f 20 65 | 31 2e 0d 09 0d 09 6d 6f |nch to e|1.....mo|
|00000f00| 76 65 2e 6c 09 74 65 74 | 65 78 74 68 28 41 33 29 |ve.l.tet|exth(A3)|
|00000f10| 2c 41 30 0d 09 6d 6f 76 | 65 2e 6c 09 28 41 30 29 |,A0..mov|e.l.(A0)|
|00000f20| 2c 41 30 0d 09 63 6d 70 | 2e 62 09 23 24 64 2c 2d |,A0..cmp|.b.#$d,-|
|00000f30| 31 28 41 30 2c 44 33 29 | 0d 09 62 65 71 09 65 32 |1(A0,D3)|..beq.e2|
|00000f40| 0d 09 6d 6f 76 65 09 2d | 32 28 41 32 29 2c 44 36 |..move.-|2(A2),D6|
|00000f50| 0d 09 6d 6f 76 65 09 44 | 33 2c 44 37 0d 09 73 75 |..move.D|3,D7..su|
|00000f60| 62 71 09 23 31 2c 44 37 | 0d 09 6a 73 72 09 74 73 |bq.#1,D7|..jsr.ts|
|00000f70| 74 74 61 62 0d 09 62 65 | 71 09 65 32 0d 09 62 72 |ttab..be|q.e2..br|
|00000f80| 61 09 65 31 0d 09 0d 09 | 3b 20 63 61 72 65 74 20 |a.e1....|; caret |
|00000f90| 69 73 20 61 74 20 74 68 | 65 20 65 6e 64 20 6f 66 |is at th|e end of|
|00000fa0| 20 61 6e 20 69 6e 74 65 | 72 69 6f 72 20 6c 69 6e | an inte|rior lin|
|00000fb0| 65 2e 20 20 69 66 0d 09 | 3b 20 74 65 6c 66 74 63 |e. if..|; telftc|
|00000fc0| 61 72 65 74 20 69 73 20 | 73 65 74 2c 20 74 68 65 |aret is |set, the|
|00000fd0| 6e 20 41 32 20 63 6f 72 | 72 65 63 74 6c 79 20 70 |n A2 cor|rectly p|
|00000fe0| 6f 69 6e 74 73 20 74 6f | 0d 09 3b 20 74 68 65 20 |oints to|..; the |
|00000ff0| 6c 69 6e 65 73 74 61 72 | 74 20 61 66 74 65 72 20 |linestar|t after |
|00001000| 74 68 65 20 63 61 72 65 | 74 2c 20 73 6f 20 62 72 |the care|t, so br|
|00001010| 61 6e 63 68 20 74 6f 20 | 65 32 2e 0d 09 0d 65 30 |anch to |e2....e0|
|00001020| 09 74 73 74 2e 62 09 74 | 65 6c 66 74 63 61 72 65 |.tst.b.t|elftcare|
|00001030| 74 28 41 33 29 0d 09 62 | 6e 65 09 65 32 0d 09 0d |t(A3)..b|ne.e2...|
|00001040| 09 3b 20 63 61 72 65 74 | 20 69 73 20 61 74 20 74 |.; caret| is at t|
|00001050| 68 65 20 65 6e 64 20 6f | 66 20 74 68 65 20 74 65 |he end o|f the te|
|00001060| 78 74 2c 20 6f 72 20 61 | 74 20 74 68 65 20 65 6e |xt, or a|t the en|
|00001070| 64 0d 09 3b 20 6f 66 20 | 61 6e 20 69 6e 74 65 72 |d..; of |an inter|
|00001080| 69 6f 72 20 6c 69 6e 65 | 20 77 69 74 68 20 74 65 |ior line| with te|
|00001090| 6c 66 74 63 61 72 65 74 | 20 63 6c 65 61 72 65 64 |lftcaret| cleared|
|000010a0| 2c 20 73 6f 0d 09 3b 20 | 64 65 63 72 65 6d 65 6e |, so..; |decremen|
|000010b0| 74 20 41 32 20 74 6f 20 | 70 6f 69 6e 74 20 74 6f |t A2 to |point to|
|000010c0| 20 74 68 61 74 20 6c 69 | 6e 65 2e 0d 09 0d 65 31 | that li|ne....e1|
|000010d0| 09 73 75 62 09 23 32 2c | 41 32 0d 09 0d 09 3b 20 |.sub.#2,|A2....; |
|000010e0| 41 32 20 70 6f 69 6e 74 | 73 20 74 6f 20 74 68 65 |A2 point|s to the|
|000010f0| 20 63 6f 72 72 65 63 74 | 20 6c 69 6e 65 73 74 61 | correct| linesta|
|00001100| 72 74 2e 20 20 63 6f 6d | 70 75 74 65 0d 09 3b 20 |rt. com|pute..; |
|00001110| 74 68 65 20 6f 66 66 73 | 65 74 20 74 6f 20 74 68 |the offs|et to th|
|00001120| 65 20 74 6f 70 20 6f 66 | 20 74 68 65 20 6c 69 6e |e top of| the lin|
|00001130| 65 2c 20 61 6e 64 20 6c | 65 61 76 65 0d 09 3b 20 |e, and l|eave..; |
|00001140| 69 6e 20 64 30 2e 20 20 | 73 65 6c 72 65 63 74 2e |in d0. |selrect.|
|00001150| 6c 65 66 74 20 3d 20 64 | 65 73 74 72 65 63 74 2e |left = d|estrect.|
|00001160| 6c 65 66 74 2c 0d 09 3b | 20 73 65 6c 72 65 63 74 |left,..;| selrect|
|00001170| 2e 74 6f 70 20 3d 20 64 | 65 73 74 72 65 63 74 2e |.top = d|estrect.|
|00001180| 74 6f 70 20 2b 20 44 30 | 2c 20 73 65 6c 72 65 63 |top + D0|, selrec|
|00001190| 74 2e 62 6f 74 74 6f 6d | 0d 09 3b 20 3d 20 73 65 |t.bottom|..; = se|
|000011a0| 6c 72 65 63 74 2e 74 6f | 70 20 2b 20 6c 69 6e 65 |lrect.to|p + line|
|000011b0| 68 65 69 67 68 74 2e 0d | 0d 65 32 09 6c 65 61 09 |height..|.e2.lea.|
|000011c0| 74 65 6c 69 6e 65 73 28 | 41 33 29 2c 41 30 0d 09 |telines(|A3),A0..|
|000011d0| 73 75 62 2e 6c 09 41 32 | 2c 41 30 0d 09 6d 6f 76 |sub.l.A2|,A0..mov|
|000011e0| 65 09 41 30 2c 44 30 0d | 09 6e 65 67 09 44 30 0d |e.A0,D0.|.neg.D0.|
|000011f0| 09 61 73 72 09 23 31 2c | 44 30 0d 09 6d 6f 76 65 |.asr.#1,|D0..move|
|00001200| 09 74 65 6c 69 6e 65 68 | 69 74 65 28 41 33 29 2c |.telineh|ite(A3),|
|00001210| 44 31 0d 09 6d 75 6c 75 | 09 44 31 2c 44 30 0d 09 |D1..mulu|.D1,D0..|
|00001220| 6d 6f 76 65 2e 6c 09 74 | 65 64 65 73 74 72 65 63 |move.l.t|edestrec|
|00001230| 74 28 41 33 29 2c 74 65 | 73 65 6c 72 65 63 74 28 |t(A3),te|selrect(|
|00001240| 41 33 29 0d 09 61 64 64 | 09 44 30 2c 74 65 73 65 |A3)..add|.D0,tese|
|00001250| 6c 72 65 63 74 2b 74 6f | 70 28 41 33 29 0d 09 6d |lrect+to|p(A3)..m|
|00001260| 6f 76 65 09 74 65 73 65 | 6c 72 65 63 74 2b 74 6f |ove.tese|lrect+to|
|00001270| 70 28 41 33 29 2c 74 65 | 73 65 6c 72 65 63 74 2b |p(A3),te|selrect+|
|00001280| 62 6f 74 74 6f 6d 28 41 | 33 29 0d 09 61 64 64 09 |bottom(A|3)..add.|
|00001290| 44 31 2c 74 65 73 65 6c | 72 65 63 74 2b 62 6f 74 |D1,tesel|rect+bot|
|000012a0| 74 6f 6d 28 41 33 29 0d | 09 0d 09 3b 20 44 30 20 |tom(A3).|...; D0 |
|000012b0| 3d 20 74 65 78 74 77 69 | 64 74 68 28 68 74 65 78 |= textwi|dth(htex|
|000012c0| 74 5e 2c 20 73 74 61 72 | 74 20 6f 66 20 6c 69 6e |t^, star|t of lin|
|000012d0| 65 2c 0d 09 3b 20 09 44 | 33 20 2d 20 73 74 61 72 |e,..; .D|3 - star|
|000012e0| 74 20 6f 66 20 6c 69 6e | 65 29 0d 09 3b 20 66 69 |t of lin|e)..; fi|
|000012f0| 6e 64 20 64 69 73 74 61 | 6e 63 65 20 66 72 6f 6d |nd dista|nce from|
|00001300| 20 73 74 61 72 74 20 6f | 66 20 6c 69 6e 65 20 74 | start o|f line t|
|00001310| 6f 20 44 33 3b 0d 09 3b | 20 61 64 64 20 69 74 20 |o D3;..;| add it |
|00001320| 74 6f 20 73 65 6c 72 65 | 63 74 2e 6c 65 66 74 2e |to selre|ct.left.|
|00001330| 20 20 73 65 6c 72 65 63 | 74 2e 72 69 67 68 74 0d | selrec|t.right.|
|00001340| 09 3b 20 3d 20 73 65 6c | 72 65 63 74 2e 6c 65 66 |.; = sel|rect.lef|
|00001350| 74 20 2b 20 31 2e 0d 09 | 0d 09 6d 6f 76 65 2e 6c |t + 1...|..move.l|
|00001360| 09 74 65 74 65 78 74 68 | 28 41 33 29 2c 41 30 0d |.tetexth|(A3),A0.|
|00001370| 09 6d 6f 76 65 2e 6c 09 | 28 41 30 29 2c 41 30 0d |.move.l.|(A0),A0.|
|00001380| 09 63 6c 72 09 2d 28 53 | 50 29 0d 09 6d 6f 76 65 |.clr.-(S|P)..move|
|00001390| 2e 6c 09 41 30 2c 2d 28 | 53 50 29 0d 09 6d 6f 76 |.l.A0,-(|SP)..mov|
|000013a0| 65 09 28 41 32 29 2c 44 | 30 0d 09 6d 6f 76 65 09 |e.(A2),D|0..move.|
|000013b0| 44 30 2c 2d 28 53 50 29 | 0d 09 6d 6f 76 65 09 44 |D0,-(SP)|..move.D|
|000013c0| 33 2c 2d 28 53 50 29 0d | 09 73 75 62 09 44 30 2c |3,-(SP).|.sub.D0,|
|000013d0| 28 53 50 29 0d 09 5f 74 | 65 78 74 77 69 64 74 68 |(SP).._t|extwidth|
|000013e0| 0d 09 6d 6f 76 65 09 28 | 53 50 29 2b 2c 44 30 0d |..move.(|SP)+,D0.|
|000013f0| 09 61 64 64 09 44 30 2c | 74 65 73 65 6c 72 65 63 |.add.D0,|teselrec|
|00001400| 74 2b 6c 65 66 74 28 41 | 33 29 0d 09 6d 6f 76 65 |t+left(A|3)..move|
|00001410| 09 74 65 73 65 6c 72 65 | 63 74 2b 6c 65 66 74 28 |.teselre|ct+left(|
|00001420| 41 33 29 2c 74 65 73 65 | 6c 72 65 63 74 2b 72 69 |A3),tese|lrect+ri|
|00001430| 67 68 74 28 41 33 29 0d | 09 61 64 64 71 09 23 31 |ght(A3).|.addq.#1|
|00001440| 2c 74 65 73 65 6c 72 65 | 63 74 2b 72 69 67 68 74 |,teselre|ct+right|
|00001450| 28 41 33 29 0d 09 0d 09 | 3b 20 72 65 73 74 6f 72 |(A3)....|; restor|
|00001460| 65 20 72 65 67 69 73 74 | 65 72 73 2c 20 73 65 74 |e regist|ers, set|
|00001470| 20 41 30 20 74 6f 20 70 | 6f 69 6e 74 20 74 6f 20 | A0 to p|oint to |
|00001480| 63 75 72 72 65 6e 74 0d | 09 3b 20 67 72 61 66 70 |current.|.; grafp|
|00001490| 6f 72 74 2c 20 61 6e 64 | 20 72 65 74 75 72 6e 2e |ort, and| return.|
|000014a0| 0d 09 0d 09 6d 6f 76 65 | 6d 2e 6c 09 28 53 50 29 |....move|m.l.(SP)|
|000014b0| 2b 2c 44 32 2f 44 36 2f | 44 37 2f 41 32 0d 09 6d |+,D2/D6/|D7/A2..m|
|000014c0| 6f 76 65 2e 6c 09 28 41 | 35 29 2c 41 30 0d 09 6d |ove.l.(A|5),A0..m|
|000014d0| 6f 76 65 2e 6c 09 28 41 | 30 29 2c 41 30 0d 09 72 |ove.l.(A|0),A0..r|
|000014e0| 74 73 0d 0d 3b 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |ts..;***|********|
|000014f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001500| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001510| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001520| 2a 2a 2a 2a 2a 0d 3b 0d | 3b 09 68 69 74 74 65 73 |*****.;.|;.hittes|
|00001530| 74 0d 3b 0d 3b 09 6f 6e | 20 65 6e 74 72 79 3a 0d |t.;.;.on| entry:.|
|00001540| 3b 09 09 41 33 09 70 6f | 69 6e 74 65 72 20 74 6f |;..A3.po|inter to|
|00001550| 20 6c 6f 63 6b 65 64 20 | 65 64 69 74 20 72 65 63 | locked |edit rec|
|00001560| 6f 72 64 0d 3b 09 09 41 | 34 09 68 61 6e 64 6c 65 |ord.;..A|4.handle|
|00001570| 20 74 6f 20 65 64 69 74 | 20 72 65 63 6f 72 64 0d | to edit| record.|
|00001580| 3b 09 09 44 33 09 6c 69 | 6e 65 73 74 61 72 74 20 |;..D3.li|nestart |
|00001590| 6f 66 20 6c 69 6e 65 20 | 63 6c 69 63 6b 65 64 20 |of line |clicked |
|000015a0| 69 6e 0d 3b 09 09 44 34 | 09 6c 69 6e 65 73 74 61 |in.;..D4|.linesta|
|000015b0| 72 74 20 6f 66 20 6e 65 | 78 74 20 6c 69 6e 65 0d |rt of ne|xt line.|
|000015c0| 3b 09 09 44 37 09 30 20 | 74 6f 20 68 69 74 2d 74 |;..D7.0 |to hit-t|
|000015d0| 65 73 74 20 61 20 63 68 | 61 72 61 63 74 65 72 0d |est a ch|aracter.|
|000015e0| 3b 0d 3b 09 6f 6e 20 65 | 78 69 74 3a 0d 3b 09 09 |;.;.on e|xit:.;..|
|000015f0| 41 30 09 70 6f 69 6e 74 | 65 72 20 74 6f 20 63 75 |A0.point|er to cu|
|00001600| 72 72 65 6e 74 20 67 72 | 61 66 70 6f 72 74 0d 3b |rrent gr|afport.;|
|00001610| 09 09 44 30 09 63 68 61 | 72 61 63 74 65 72 20 70 |..D0.cha|racter p|
|00001620| 6f 73 69 74 69 6f 6e 20 | 28 2d 31 20 66 6f 72 20 |osition |(-1 for |
|00001630| 6e 6f 6e 65 29 0d 3b 0d | 3b 2a 2a 2a 2a 2a 2a 2a |none).;.|;*******|
|00001640| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001650| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001660| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001670| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0d 0d 68 69 74 74 65 |********|*..hitte|
|00001680| 73 74 0d 09 0d 09 3b 20 | 73 61 76 65 20 72 65 67 |st....; |save reg|
|00001690| 69 73 74 65 72 73 0d 0d | 09 6d 6f 76 65 6d 2e 6c |isters..|.movem.l|
|000016a0| 09 41 32 2f 44 34 2d 44 | 37 2c 2d 28 53 50 29 0d |.A2/D4-D|7,-(SP).|
|000016b0| 09 0d 09 3b 20 6d 6f 76 | 65 20 68 74 65 78 74 20 |...; mov|e htext |
|000016c0| 74 6f 20 41 32 20 61 6e | 64 20 6c 6f 63 6b 20 69 |to A2 an|d lock i|
|000016d0| 74 2e 20 20 69 66 20 69 | 74 20 77 61 73 0d 09 3b |t. if i|t was..;|
|000016e0| 20 75 6e 6c 6f 63 6b 65 | 64 20 62 65 66 6f 72 65 | unlocke|d before|
|000016f0| 2c 20 73 65 74 20 44 36 | 20 6e 65 67 61 74 69 76 |, set D6| negativ|
|00001700| 65 3b 20 6f 74 68 65 72 | 77 69 73 65 2c 0d 09 3b |e; other|wise,..;|
|00001710| 20 44 36 20 3d 20 30 2e | 0d 09 0d 09 63 6c 72 2e | D6 = 0.|....clr.|
|00001720| 6c 09 44 36 0d 09 6d 6f | 76 65 2e 6c 09 74 65 74 |l.D6..mo|ve.l.tet|
|00001730| 65 78 74 68 28 41 33 29 | 2c 41 32 0d 09 62 73 65 |exth(A3)|,A2..bse|
|00001740| 74 09 23 37 2c 28 41 32 | 29 0d 09 62 65 71 09 40 |t.#7,(A2|)..beq.@|
|00001750| 30 0d 09 62 73 65 74 09 | 23 33 31 2c 44 36 0d 09 |0..bset.|#31,D6..|
|00001760| 0d 09 3b 20 64 65 72 65 | 66 65 72 65 6e 63 65 20 |..; dere|ference |
|00001770| 68 74 65 78 74 2e 20 20 | 69 66 20 74 68 65 20 6c |htext. |if the l|
|00001780| 61 73 74 20 63 68 61 72 | 61 63 74 65 72 20 69 6e |ast char|acter in|
|00001790| 0d 09 3b 20 74 68 65 20 | 6c 69 6e 65 20 69 73 20 |..; the |line is |
|000017a0| 61 20 70 73 65 75 64 6f | 2d 72 65 74 75 72 6e 2c |a pseudo|-return,|
|000017b0| 20 62 72 61 6e 63 68 20 | 74 6f 20 40 32 3b 0d 09 | branch |to @2;..|
|000017c0| 3b 20 6f 74 68 65 72 77 | 69 73 65 2c 20 66 61 6c |; otherw|ise, fal|
|000017d0| 6c 20 74 68 72 6f 75 67 | 68 20 74 6f 20 40 31 2e |l throug|h to @1.|
|000017e0| 0d 09 0d 09 3b 20 63 6f | 6d 6d 65 6e 74 3a 20 20 |....; co|mment: |
|000017f0| 69 73 20 69 74 20 6e 65 | 63 65 73 73 61 72 79 20 |is it ne|cessary |
|00001800| 74 6f 20 63 68 65 63 6b | 20 66 69 72 73 74 20 66 |to check| first f|
|00001810| 6f 72 0d 09 3b 20 61 20 | 72 65 74 75 72 6e 3f 0d |or..; a |return?.|
|00001820| 09 0d 40 30 09 6d 6f 76 | 65 2e 6c 09 28 41 32 29 |..@0.mov|e.l.(A2)|
|00001830| 2c 41 32 0d 09 63 6d 70 | 2e 62 09 23 24 64 2c 2d |,A2..cmp|.b.#$d,-|
|00001840| 31 28 41 32 2c 44 34 29 | 0d 09 62 65 71 09 40 31 |1(A2,D4)|..beq.@1|
|00001850| 0d 09 6d 6f 76 65 2e 6c | 09 41 32 2c 41 30 0d 09 |..move.l|.A2,A0..|
|00001860| 6d 6f 76 65 09 44 33 2c | 44 36 0d 09 6d 6f 76 65 |move.D3,|D6..move|
|00001870| 09 44 34 2c 44 37 0d 09 | 73 75 62 71 09 23 31 2c |.D4,D7..|subq.#1,|
|00001880| 44 37 0d 09 6a 73 72 09 | 74 73 74 74 61 62 0d 09 |D7..jsr.|tsttab..|
|00001890| 62 6e 65 09 40 32 0d 09 | 0d 09 3b 20 6c 61 73 74 |bne.@2..|..; last|
|000018a0| 20 63 68 61 72 61 63 74 | 65 72 20 69 6e 20 74 68 | charact|er in th|
|000018b0| 65 20 6c 69 6e 65 20 69 | 73 20 6e 6f 74 20 61 20 |e line i|s not a |
|000018c0| 70 73 65 75 64 6f 2d 72 | 65 74 75 72 6e 2c 0d 09 |pseudo-r|eturn,..|
|000018d0| 3b 20 73 6f 20 64 65 63 | 72 65 6d 65 6e 74 20 44 |; so dec|rement D|
|000018e0| 34 20 74 6f 20 70 6f 69 | 6e 74 20 74 6f 20 69 74 |4 to poi|nt to it|
|000018f0| 2e 0d 09 0d 40 31 09 73 | 75 62 71 09 23 31 2c 44 |....@1.s|ubq.#1,D|
|00001900| 34 0d 09 0d 09 3b 20 73 | 65 74 20 44 37 20 3d 20 |4....; s|et D7 = |
|00001910| 64 69 73 74 61 6e 63 65 | 20 66 72 6f 6d 20 64 65 |distance| from de|
|00001920| 73 74 72 65 63 74 2e 6c | 65 66 74 20 74 6f 20 63 |strect.l|eft to c|
|00001930| 6c 69 63 6b 2e 0d 09 3b | 20 69 66 20 6e 65 67 61 |lick...;| if nega|
|00001940| 74 69 76 65 20 6f 72 20 | 7a 65 72 6f 2c 20 63 6c |tive or |zero, cl|
|00001950| 69 63 6b 20 77 61 73 20 | 61 74 20 62 65 67 69 6e |ick was |at begin|
|00001960| 6e 69 6e 67 20 6f 66 0d | 09 3b 20 74 68 65 20 6c |ning of.|.; the l|
|00001970| 69 6e 65 2c 20 73 6f 20 | 72 65 74 75 72 6e 20 64 |ine, so |return d|
|00001980| 33 2e 0d 0d 40 32 09 6d | 6f 76 65 2e 6c 09 74 65 |3...@2.m|ove.l.te|
|00001990| 73 65 6c 70 6f 69 6e 74 | 28 41 33 29 2c 44 37 0d |selpoint|(A3),D7.|
|000019a0| 09 73 75 62 09 74 65 64 | 65 73 74 72 65 63 74 2b |.sub.ted|estrect+|
|000019b0| 6c 65 66 74 28 41 33 29 | 2c 44 37 0d 09 62 67 74 |left(A3)|,D7..bgt|
|000019c0| 09 40 33 0d 09 6d 6f 76 | 65 09 44 33 2c 44 30 0d |.@3..mov|e.D3,D0.|
|000019d0| 09 62 72 61 09 73 74 6f | 70 68 74 0d 09 0d 09 3b |.bra.sto|pht....;|
|000019e0| 20 73 65 74 20 44 36 20 | 3d 20 6e 75 6d 62 65 72 | set D6 |= number|
|000019f0| 20 6f 66 20 63 68 61 72 | 61 63 74 65 72 73 20 69 | of char|acters i|
|00001a00| 6e 20 74 68 65 20 6c 69 | 6e 65 2e 0d 09 3b 20 73 |n the li|ne...; s|
|00001a10| 65 74 20 44 35 20 3d 20 | 30 2e 0d 0d 40 33 09 6d |et D5 = |0...@3.m|
|00001a20| 6f 76 65 09 44 34 2c 44 | 36 0d 09 73 75 62 09 44 |ove.D4,D|6..sub.D|
|00001a30| 33 2c 44 36 0d 09 63 6c | 72 09 44 35 0d 09 0d 09 |3,D6..cl|r.D5....|
|00001a40| 3b 20 66 69 6e 64 20 74 | 68 65 20 77 69 64 74 68 |; find t|he width|
|00001a50| 20 6f 66 20 74 68 65 20 | 66 69 72 73 74 20 6e 20 | of the |first n |
|00001a60| 63 68 61 72 61 63 74 65 | 72 73 20 69 6e 20 74 68 |characte|rs in th|
|00001a70| 65 0d 09 3b 20 6c 69 6e | 65 2e 20 20 69 66 20 69 |e..; lin|e. if i|
|00001a80| 74 27 73 20 70 61 73 74 | 20 74 68 65 20 63 6c 69 |t's past| the cli|
|00001a90| 63 6b 2c 20 64 65 63 72 | 65 6d 65 6e 74 20 6e 20 |ck, decr|ement n |
|00001aa0| 61 6e 64 0d 09 3b 20 72 | 65 70 65 61 74 2e 20 20 |and..; r|epeat. |
|00001ab0| 6f 6e 20 65 78 69 74 2c | 20 44 36 20 3d 20 6e 75 |on exit,| D6 = nu|
|00001ac0| 6d 62 65 72 20 6f 66 20 | 63 68 61 72 61 63 74 65 |mber of |characte|
|00001ad0| 72 73 0d 09 3b 20 6c 65 | 66 74 20 6f 66 20 74 68 |rs..; le|ft of th|
|00001ae0| 65 20 63 6c 69 63 6b 2c | 20 44 35 20 3d 20 77 69 |e click,| D5 = wi|
|00001af0| 64 74 68 20 6f 66 20 74 | 68 6f 73 65 20 63 68 61 |dth of t|hose cha|
|00001b00| 72 61 63 74 65 72 73 2c | 0d 09 3b 20 61 6e 64 20 |racters,|..; and |
|00001b10| 44 34 20 3d 20 77 69 64 | 74 68 20 6f 66 20 44 36 |D4 = wid|th of D6|
|00001b20| 20 2b 20 31 20 63 68 61 | 72 61 63 74 65 72 73 2e | + 1 cha|racters.|
|00001b30| 0d 09 0d 6c 6f 6f 70 0d | 09 6d 6f 76 65 09 44 35 |...loop.|.move.D5|
|00001b40| 2c 44 34 0d 09 63 6c 72 | 09 2d 28 53 50 29 0d 09 |,D4..clr|.-(SP)..|
|00001b50| 6d 6f 76 65 2e 6c 09 41 | 32 2c 2d 28 53 50 29 0d |move.l.A|2,-(SP).|
|00001b60| 09 6d 6f 76 65 09 44 33 | 2c 2d 28 53 50 29 0d 09 |.move.D3|,-(SP)..|
|00001b70| 6d 6f 76 65 09 44 36 2c | 2d 28 53 50 29 0d 09 5f |move.D6,|-(SP).._|
|00001b80| 74 65 78 74 77 69 64 74 | 68 0d 09 6d 6f 76 65 09 |textwidt|h..move.|
|00001b90| 28 53 50 29 2b 2c 44 35 | 0d 09 63 6d 70 09 44 35 |(SP)+,D5|..cmp.D5|
|00001ba0| 2c 44 37 0d 09 64 62 67 | 65 09 44 36 2c 6c 6f 6f |,D7..dbg|e.D6,loo|
|00001bb0| 70 0d 09 0d 09 3b 20 61 | 64 64 20 74 68 65 20 6e |p....; a|dd the n|
|00001bc0| 75 6d 62 65 72 20 6f 66 | 20 63 68 61 72 61 63 74 |umber of| charact|
|00001bd0| 65 72 73 20 62 65 66 6f | 72 65 20 74 68 65 20 6c |ers befo|re the l|
|00001be0| 69 6e 65 0d 09 3b 20 74 | 6f 20 44 36 2c 20 61 6e |ine..; t|o D6, an|
|00001bf0| 64 20 6d 6f 76 65 20 74 | 68 65 20 72 65 73 75 6c |d move t|he resul|
|00001c00| 74 20 74 6f 20 44 30 20 | 28 73 6f 20 69 74 20 77 |t to D0 |(so it w|
|00001c10| 69 6c 6c 0d 09 3b 20 72 | 65 74 75 72 6e 20 74 68 |ill..; r|eturn th|
|00001c20| 65 20 63 68 61 72 61 63 | 74 65 72 20 70 6f 73 69 |e charac|ter posi|
|00001c30| 74 69 6f 6e 20 66 72 6f | 6d 20 74 68 65 20 62 65 |tion fro|m the be|
|00001c40| 67 69 6e 6e 69 6e 67 0d | 09 3b 20 6f 66 20 74 68 |ginning.|.; of th|
|00001c50| 65 20 74 65 78 74 29 2e | 20 20 69 66 20 44 34 20 |e text).| if D4 |
|00001c60| 69 73 20 7a 65 72 6f 2c | 20 74 68 65 20 6c 6f 6f |is zero,| the loo|
|00001c70| 70 20 68 69 74 20 74 68 | 65 0d 09 3b 20 66 69 72 |p hit th|e..; fir|
|00001c80| 73 74 20 74 69 6d 65 2c | 20 73 6f 20 74 68 65 20 |st time,| so the |
|00001c90| 63 6c 69 63 6b 20 69 73 | 20 72 69 67 68 74 20 6f |click is| right o|
|00001ca0| 66 20 74 68 65 20 77 68 | 6f 6c 65 0d 09 3b 20 6c |f the wh|ole..; l|
|00001cb0| 69 6e 65 2c 20 61 6e 64 | 20 74 68 69 73 20 69 73 |ine, and| this is|
|00001cc0| 20 74 68 65 20 63 6f 72 | 72 65 63 74 20 70 6f 73 | the cor|rect pos|
|00001cd0| 69 74 69 6f 6e 2e 0d 09 | 0d 09 61 64 64 09 44 33 |ition...|..add.D3|
|00001ce0| 2c 44 36 0d 09 6d 6f 76 | 65 09 44 36 2c 44 30 0d |,D6..mov|e.D6,D0.|
|00001cf0| 09 74 73 74 09 44 34 0d | 09 62 65 71 09 73 74 6f |.tst.D4.|.beq.sto|
|00001d00| 70 68 74 0d 09 0d 09 3b | 20 69 66 20 74 68 65 20 |pht....;| if the |
|00001d10| 63 6c 69 63 6b 20 69 73 | 20 6d 6f 72 65 20 74 68 |click is| more th|
|00001d20| 61 6e 20 68 61 6c 66 77 | 61 79 20 74 68 72 6f 75 |an halfw|ay throu|
|00001d30| 67 68 20 74 68 65 0d 09 | 3b 20 6c 61 73 74 20 63 |gh the..|; last c|
|00001d40| 68 61 72 61 63 74 65 72 | 20 72 65 6a 65 63 74 65 |haracter| rejecte|
|00001d50| 64 2c 20 74 68 65 6e 20 | 61 63 63 65 70 74 20 69 |d, then |accept i|
|00001d60| 74 20 62 79 0d 09 3b 20 | 69 6e 63 72 65 6d 65 6e |t by..; |incremen|
|00001d70| 74 69 6e 67 20 64 30 2e | 0d 09 0d 09 73 75 62 09 |ting d0.|....sub.|
|00001d80| 44 37 2c 44 34 0d 09 73 | 75 62 09 44 35 2c 44 37 |D7,D4..s|ub.D5,D7|
|00001d90| 0d 09 63 6d 70 09 44 34 | 2c 44 37 0d 09 62 6c 65 |..cmp.D4|,D7..ble|
|00001da0| 09 73 74 6f 70 68 74 0d | 09 61 64 64 71 09 23 31 |.stopht.|.addq.#1|
|00001db0| 2c 44 30 0d 09 0d 73 74 | 6f 70 68 74 0d 09 0d 09 |,D0...st|opht....|
|00001dc0| 3b 20 69 66 20 44 36 20 | 69 73 20 6e 65 67 61 74 |; if D6 |is negat|
|00001dd0| 69 76 65 2c 20 74 68 65 | 6e 20 68 74 65 78 74 20 |ive, the|n htext |
|00001de0| 77 61 73 20 61 6c 72 65 | 61 64 79 20 6c 6f 63 6b |was alre|ady lock|
|00001df0| 65 64 0d 09 3b 20 77 68 | 65 6e 20 69 74 20 77 61 |ed..; wh|en it wa|
|00001e00| 73 20 6c 6f 63 6b 65 64 | 20 75 70 20 61 62 6f 76 |s locked| up abov|
|00001e10| 65 2e 20 20 6f 74 68 65 | 72 77 69 73 65 2c 20 75 |e. othe|rwise, u|
|00001e20| 6e 6c 6f 63 6b 0d 09 3b | 20 68 74 65 78 74 2e 0d |nlock..;| htext..|
|00001e30| 0d 09 74 73 74 2e 6c 09 | 44 36 0d 09 62 6d 69 09 |..tst.l.|D6..bmi.|
|00001e40| 40 30 0d 09 6d 6f 76 65 | 2e 6c 09 74 65 74 65 78 |@0..move|.l.tetex|
|00001e50| 74 68 28 41 33 29 2c 41 | 32 0d 09 62 63 6c 72 09 |th(A3),A|2..bclr.|
|00001e60| 23 37 2c 28 41 32 29 0d | 09 0d 09 3b 20 44 33 20 |#7,(A2).|...; D3 |
|00001e70| 73 74 69 6c 6c 20 68 6f | 6c 64 73 20 74 68 65 20 |still ho|lds the |
|00001e80| 6c 69 6e 65 73 74 61 72 | 74 2e 20 20 69 66 20 74 |linestar|t. if t|
|00001e90| 68 65 20 63 6c 69 63 6b | 20 77 61 73 0d 09 3b 20 |he click| was..; |
|00001ea0| 61 74 20 74 68 65 20 6c | 69 6e 65 73 74 61 72 74 |at the l|inestart|
|00001eb0| 2c 20 74 68 65 20 63 61 | 72 65 74 20 73 68 6f 75 |, the ca|ret shou|
|00001ec0| 6c 64 20 62 65 20 61 74 | 20 74 68 65 0d 09 3b 20 |ld be at| the..; |
|00001ed0| 62 65 67 69 6e 6e 69 6e | 67 20 6f 66 20 74 68 69 |beginnin|g of thi|
|00001ee0| 73 20 6c 69 6e 65 2c 20 | 72 61 74 68 65 72 20 74 |s line, |rather t|
|00001ef0| 68 61 6e 20 74 68 65 20 | 65 6e 64 20 6f 66 20 74 |han the |end of t|
|00001f00| 68 65 0d 09 3b 20 70 72 | 65 76 69 6f 75 73 20 6f |he..; pr|evious o|
|00001f10| 6e 65 2c 20 73 6f 20 73 | 65 74 20 74 65 6c 66 74 |ne, so s|et telft|
|00001f20| 63 6c 69 63 6b 2e 20 20 | 6f 74 68 65 72 77 69 73 |click. |otherwis|
|00001f30| 65 2c 0d 09 3b 20 63 6c | 65 61 72 20 69 74 2e 0d |e,..; cl|ear it..|
|00001f40| 09 0d 40 30 09 63 6d 70 | 09 44 33 2c 44 30 0d 09 |..@0.cmp|.D3,D0..|
|00001f50| 73 65 71 09 74 65 6c 66 | 74 63 6c 69 63 6b 28 41 |seq.telf|tclick(A|
|00001f60| 33 29 0d 09 0d 09 3b 20 | 6d 61 6b 65 20 41 30 20 |3)....; |make A0 |
|00001f70| 70 6f 69 6e 74 20 74 6f | 20 63 75 72 72 65 6e 74 |point to| current|
|00001f80| 20 67 72 61 66 70 6f 72 | 74 2c 20 72 65 73 74 6f | grafpor|t, resto|
|00001f90| 72 65 0d 09 3b 20 72 65 | 67 69 73 74 65 72 73 2c |re..; re|gisters,|
|00001fa0| 20 61 6e 64 20 72 65 74 | 75 72 6e 2e 0d 09 0d 09 | and ret|urn.....|
|00001fb0| 6d 6f 76 65 2e 6c 09 28 | 41 35 29 2c 41 30 0d 09 |move.l.(|A5),A0..|
|00001fc0| 6d 6f 76 65 2e 6c 09 28 | 41 30 29 2c 41 30 0d 09 |move.l.(|A0),A0..|
|00001fd0| 6d 6f 76 65 6d 2e 6c 09 | 28 53 50 29 2b 2c 41 32 |movem.l.|(SP)+,A2|
|00001fe0| 2f 44 34 2d 44 37 0d 09 | 72 74 73 0d 0d 3b 2a 2a |/D4-D7..|rts..;**|
|00001ff0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002000| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002010| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002020| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 0d 3b |********|******.;|
|00002030| 0d 3b 09 68 69 6c 69 74 | 65 0d 3b 0d 3b 09 6f 6e |.;.hilit|e.;.;.on|
|00002040| 20 65 6e 74 72 79 3a 0d | 3b 09 09 41 32 09 70 6f | entry:.|;..A2.po|
|00002050| 69 6e 74 65 72 20 74 6f | 20 6c 69 6e 65 73 74 61 |inter to| linesta|
|00002060| 72 74 73 0d 3b 09 09 41 | 33 09 70 6f 69 6e 74 65 |rts.;..A|3.pointe|
|00002070| 72 20 74 6f 20 6c 6f 63 | 6b 65 64 20 65 64 69 74 |r to loc|ked edit|
|00002080| 20 72 65 63 6f 72 64 0d | 3b 09 09 41 34 09 68 61 | record.|;..A4.ha|
|00002090| 6e 64 6c 65 20 74 6f 20 | 65 64 69 74 20 72 65 63 |ndle to |edit rec|
|000020a0| 6f 72 64 0d 3b 09 09 44 | 33 09 70 6f 73 69 74 69 |ord.;..D|3.positi|
|000020b0| 6f 6e 20 6f 66 20 66 69 | 72 73 74 20 63 68 61 72 |on of fi|rst char|
|000020c0| 61 63 74 65 72 20 74 6f | 0d 3b 09 09 09 62 65 20 |acter to|.;...be |
|000020d0| 64 72 61 77 6e 20 6f 72 | 20 73 65 6c 65 63 74 65 |drawn or| selecte|
|000020e0| 64 0d 3b 09 09 44 34 09 | 70 6f 73 69 74 69 6f 6e |d.;..D4.|position|
|000020f0| 20 6f 66 20 6c 61 73 74 | 20 63 68 61 72 61 63 74 | of last| charact|
|00002100| 65 72 20 74 6f 0d 3b 09 | 09 09 62 65 20 64 72 61 |er to.;.|..be dra|
|00002110| 77 6e 20 6f 72 20 73 65 | 6c 65 63 74 65 64 0d 3b |wn or se|lected.;|
|00002120| 09 09 44 35 09 6c 69 6e | 65 68 65 69 67 68 74 28 |..D5.lin|eheight(|
|00002130| 41 33 29 0d 3b 09 09 44 | 37 09 31 20 74 6f 20 68 |A3).;..D|7.1 to h|
|00002140| 69 67 68 6c 69 67 68 74 | 20 74 68 65 20 73 65 6c |ighlight| the sel|
|00002150| 65 63 74 69 6f 6e 20 72 | 61 6e 67 65 0d 3b 0d 3b |ection r|ange.;.;|
|00002160| 09 6f 6e 20 65 78 69 74 | 3a 0d 3b 09 09 41 30 09 |.on exit|:.;..A0.|
|00002170| 70 6f 69 6e 74 65 72 20 | 74 6f 20 63 75 72 72 65 |pointer |to curre|
|00002180| 6e 74 20 67 72 61 66 70 | 6f 72 74 0d 3b 0d 3b 2a |nt grafp|ort.;.;*|
|00002190| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000021a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000021b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000021c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0d |********|*******.|
|000021d0| 0d 68 69 6c 69 74 65 0d | 09 0d 09 3b 20 70 72 65 |.hilite.|...; pre|
|000021e0| 73 65 72 76 65 20 72 65 | 67 69 73 74 65 72 73 2e |serve re|gisters.|
|000021f0| 20 20 69 66 20 44 33 20 | 3d 20 44 34 2c 20 74 68 | if D3 |= D4, th|
|00002200| 65 72 65 20 69 73 20 6e | 6f 74 68 69 6e 67 0d 09 |ere is n|othing..|
|00002210| 3b 20 74 6f 20 68 69 67 | 68 74 6c 69 67 68 74 2c |; to hig|htlight,|
|00002220| 20 73 6f 20 62 72 61 6e | 63 68 20 74 6f 20 65 78 | so bran|ch to ex|
|00002230| 69 74 2e 20 20 6f 74 68 | 65 72 77 69 73 65 2c 20 |it. oth|erwise, |
|00002240| 6d 61 6b 65 0d 09 3b 20 | 73 75 72 65 20 44 33 20 |make..; |sure D3 |
|00002250| 3c 20 64 34 2e 0d 0d 09 | 6d 6f 76 65 6d 2e 6c 09 |< d4....|movem.l.|
|00002260| 41 32 2f 44 33 2d 44 35 | 2c 2d 28 53 50 29 0d 09 |A2/D3-D5|,-(SP)..|
|00002270| 63 6d 70 09 44 33 2c 44 | 34 0d 09 62 65 71 09 73 |cmp.D3,D|4..beq.s|
|00002280| 74 6f 70 68 6c 0d 09 62 | 67 74 09 40 30 0d 09 65 |tophl..b|gt.@0..e|
|00002290| 78 67 09 44 33 2c 44 34 | 0d 09 0d 09 3b 20 66 69 |xg.D3,D4|....; fi|
|000022a0| 6e 64 20 74 68 65 20 6c | 69 6e 65 20 6f 66 20 66 |nd the l|ine of f|
|000022b0| 69 72 73 74 20 63 68 61 | 72 3b 20 41 32 20 70 6f |irst cha|r; A2 po|
|000022c0| 69 6e 74 73 20 74 6f 20 | 61 0d 09 3b 20 6c 69 6e |ints to |a..; lin|
|000022d0| 65 73 74 61 72 74 20 3c | 3d 20 64 33 2e 20 20 4f |estart <|= d3. O|
|000022e0| 6e 20 65 78 69 74 2c 20 | 41 32 20 70 6f 69 6e 74 |n exit, |A2 point|
|000022f0| 73 20 74 6f 20 74 68 65 | 0d 09 3b 20 6c 61 73 74 |s to the|..; last|
|00002300| 20 73 75 63 68 20 6c 69 | 6e 65 73 74 61 72 74 2c | such li|nestart,|
|00002310| 20 61 6e 64 20 44 30 20 | 74 68 65 20 66 69 72 73 | and D0 |the firs|
|00002320| 74 2e 0d 09 0d 40 30 09 | 6c 65 61 09 74 65 6c 69 |t....@0.|lea.teli|
|00002330| 6e 65 73 28 41 33 29 2c | 41 32 0d 09 6d 6f 76 65 |nes(A3),|A2..move|
|00002340| 2e 6c 09 41 32 2c 44 30 | 0d 40 31 09 63 6d 70 09 |.l.A2,D0|.@1.cmp.|
|00002350| 32 28 41 32 29 2c 44 33 | 0d 09 62 6c 74 09 40 32 |2(A2),D3|..blt.@2|
|00002360| 0d 09 61 64 64 71 09 23 | 32 2c 41 32 0d 09 62 72 |..addq.#|2,A2..br|
|00002370| 61 09 40 31 0d 09 0d 09 | 3b 20 66 69 6e 64 20 74 |a.@1....|; find t|
|00002380| 68 65 20 6c 69 6e 65 20 | 6e 75 6d 62 65 72 20 6f |he line |number o|
|00002390| 66 20 44 33 2c 20 6d 75 | 6c 74 69 70 6c 79 20 69 |f D3, mu|ltiply i|
|000023a0| 74 20 62 79 0d 09 3b 20 | 74 68 65 20 6c 69 6e 65 |t by..; |the line|
|000023b0| 68 69 67 68 74 2c 20 61 | 6e 64 20 6c 65 61 76 65 |hight, a|nd leave|
|000023c0| 20 74 68 65 20 72 65 73 | 75 6c 74 20 69 6e 20 44 | the res|ult in D|
|000023d0| 31 20 0d 09 3b 20 28 74 | 68 65 20 74 6f 70 20 6f |1 ..; (t|he top o|
|000023e0| 66 20 74 68 65 20 73 65 | 6c 65 63 74 69 6f 6e 20 |f the se|lection |
|000023f0| 72 65 63 74 61 6e 67 6c | 65 29 2e 0d 09 0d 40 32 |rectangl|e)....@2|
|00002400| 09 6d 6f 76 65 2e 6c 09 | 41 32 2c 44 31 0d 09 73 |.move.l.|A2,D1..s|
|00002410| 75 62 09 44 30 2c 44 31 | 0d 09 6c 73 72 09 23 31 |ub.D0,D1|..lsr.#1|
|00002420| 2c 44 31 0d 09 6d 6f 76 | 65 09 74 65 6c 69 6e 65 |,D1..mov|e.teline|
|00002430| 68 69 74 65 28 41 33 29 | 2c 44 35 0d 09 6d 75 6c |hite(A3)|,D5..mul|
|00002440| 75 09 44 35 2c 44 31 0d | 09 0d 09 3b 20 69 6e 69 |u.D5,D1.|...; ini|
|00002450| 74 69 61 6c 20 73 65 74 | 74 69 6e 67 20 6f 66 20 |tial set|ting of |
|00002460| 73 65 6c 72 65 63 74 3a | 20 20 64 65 73 74 72 65 |selrect:| destre|
|00002470| 63 74 2e 6c 65 66 74 3b | 0d 09 3b 20 64 65 73 74 |ct.left;|..; dest|
|00002480| 72 65 63 74 2e 74 6f 70 | 20 2b 20 44 31 2d 6f 66 |rect.top| + D1-of|
|00002490| 66 73 65 74 3b 20 69 6e | 66 69 6e 69 74 79 3b 0d |fset; in|finity;.|
|000024a0| 09 3b 20 73 65 6c 72 65 | 63 74 2e 74 6f 70 20 2b |.; selre|ct.top +|
|000024b0| 20 6c 69 6e 65 68 65 69 | 67 68 74 2e 0d 09 0d 09 | linehei|ght.....|
|000024c0| 6d 6f 76 65 2e 6c 09 74 | 65 64 65 73 74 72 65 63 |move.l.t|edestrec|
|000024d0| 74 28 41 33 29 2c 74 65 | 73 65 6c 72 65 63 74 28 |t(A3),te|selrect(|
|000024e0| 41 33 29 0d 09 61 64 64 | 09 44 31 2c 74 65 73 65 |A3)..add|.D1,tese|
|000024f0| 6c 72 65 63 74 2b 74 6f | 70 28 41 33 29 0d 09 6d |lrect+to|p(A3)..m|
|00002500| 6f 76 65 09 74 65 73 65 | 6c 72 65 63 74 2b 74 6f |ove.tese|lrect+to|
|00002510| 70 28 41 33 29 2c 74 65 | 73 65 6c 72 65 63 74 2b |p(A3),te|selrect+|
|00002520| 62 6f 74 74 6f 6d 28 41 | 33 29 0d 09 61 64 64 09 |bottom(A|3)..add.|
|00002530| 44 35 2c 74 65 73 65 6c | 72 65 63 74 2b 62 6f 74 |D5,tesel|rect+bot|
|00002540| 74 6f 6d 28 41 33 29 0d | 09 6d 6f 76 65 09 23 24 |tom(A3).|.move.#$|
|00002550| 37 66 66 65 2c 74 65 73 | 65 6c 72 65 63 74 2b 72 |7ffe,tes|elrect+r|
|00002560| 69 67 68 74 28 41 33 29 | 0d 09 0d 09 3b 20 44 30 |ight(A3)|....; D0|
|00002570| 20 3d 20 74 65 78 74 77 | 69 64 74 68 28 68 74 65 | = textw|idth(hte|
|00002580| 78 74 5e 2c 20 6c 61 73 | 74 20 6c 69 6e 65 73 74 |xt^, las|t linest|
|00002590| 61 72 74 20 3c 3d 20 44 | 33 2c 0d 09 3b 20 09 44 |art <= D|3,..; .D|
|000025a0| 33 20 2d 20 6c 61 73 74 | 20 6c 69 6e 65 73 74 61 |3 - last| linesta|
|000025b0| 72 74 20 3c 3d 20 44 33 | 29 0d 09 3b 20 66 69 6e |rt <= D3|)..; fin|
|000025c0| 64 20 64 69 73 74 61 6e | 63 65 20 66 72 6f 6d 20 |d distan|ce from |
|000025d0| 73 74 61 72 74 20 6f 66 | 20 6c 69 6e 65 20 74 6f |start of| line to|
|000025e0| 20 44 33 3b 0d 09 3b 20 | 61 64 64 20 69 74 20 74 | D3;..; |add it t|
|000025f0| 6f 20 73 65 6c 72 65 63 | 74 2e 6c 65 66 74 2e 0d |o selrec|t.left..|
|00002600| 09 0d 09 63 6c 72 09 2d | 28 53 50 29 0d 09 6d 6f |...clr.-|(SP)..mo|
|00002610| 76 65 2e 6c 09 74 65 74 | 65 78 74 68 28 41 33 29 |ve.l.tet|exth(A3)|
|00002620| 2c 41 30 0d 09 6d 6f 76 | 65 2e 6c 09 28 41 30 29 |,A0..mov|e.l.(A0)|
|00002630| 2c 2d 28 53 50 29 0d 09 | 6d 6f 76 65 09 28 41 32 |,-(SP)..|move.(A2|
|00002640| 29 2c 44 30 0d 09 6d 6f | 76 65 09 44 30 2c 2d 28 |),D0..mo|ve.D0,-(|
|00002650| 53 50 29 0d 09 6d 6f 76 | 65 09 44 33 2c 2d 28 53 |SP)..mov|e.D3,-(S|
|00002660| 50 29 0d 09 73 75 62 09 | 44 30 2c 28 53 50 29 0d |P)..sub.|D0,(SP).|
|00002670| 09 5f 74 65 78 74 77 69 | 64 74 68 0d 09 6d 6f 76 |._textwi|dth..mov|
|00002680| 65 09 28 53 50 29 2b 2c | 44 30 0d 09 61 64 64 09 |e.(SP)+,|D0..add.|
|00002690| 44 30 2c 74 65 73 65 6c | 72 65 63 74 2b 6c 65 66 |D0,tesel|rect+lef|
|000026a0| 74 28 41 33 29 0d 09 0d | 09 3b 20 69 66 20 74 68 |t(A3)...|.; if th|
|000026b0| 65 20 6e 65 78 74 20 6c | 69 6e 65 73 74 61 72 74 |e next l|inestart|
|000026c0| 20 69 73 20 3e 20 44 34 | 2c 20 62 72 61 6e 63 68 | is > D4|, branch|
|000026d0| 20 74 6f 20 6c 61 73 74 | 72 65 63 74 3b 0d 09 3b | to last|rect;..;|
|000026e0| 20 6f 74 68 65 72 77 69 | 73 65 2c 20 68 69 67 68 | otherwi|se, high|
|000026f0| 6c 69 67 68 74 20 66 72 | 6f 6d 20 44 33 20 74 6f |light fr|om D3 to|
|00002700| 20 65 6e 64 20 6f 66 20 | 6c 69 6e 65 2e 0d 09 3b | end of |line...;|
|00002710| 20 54 68 65 6e 20 73 65 | 74 20 73 65 6c 72 65 63 | Then se|t selrec|
|00002720| 74 2e 6c 65 66 74 20 3d | 20 2d 32 20 28 3f 20 77 |t.left =| -2 (? w|
|00002730| 68 79 20 6e 6f 74 20 64 | 69 73 70 72 65 63 74 2e |hy not d|isprect.|
|00002740| 6c 65 66 74 3f 0d 09 3b | 20 4e 65 64 72 75 64 20 |left?..;| Nedrud |
|00002750| 73 61 79 73 20 41 70 70 | 6c 65 20 68 61 72 64 2d |says App|le hard-|
|00002760| 63 6f 64 65 64 20 74 68 | 69 73 20 76 61 6c 75 65 |coded th|is value|
|00002770| 2c 20 61 6e 64 20 74 65 | 73 74 73 0d 09 3b 20 66 |, and te|sts..; f|
|00002780| 6f 72 20 69 74 2e 20 20 | 53 61 6d 65 20 77 69 74 |or it. |Same wit|
|00002790| 68 20 73 65 6c 72 65 63 | 74 2e 72 69 67 68 74 20 |h selrec|t.right |
|000027a0| 61 62 6f 76 65 2e 29 0d | 09 0d 09 63 6d 70 09 32 |above.).|...cmp.2|
|000027b0| 28 41 32 29 2c 44 34 0d | 09 62 6c 65 09 6c 61 73 |(A2),D4.|.ble.las|
|000027c0| 74 72 65 63 74 0d 09 6a | 73 72 09 73 75 62 68 69 |trect..j|sr.subhi|
|000027d0| 6c 69 74 65 0d 09 6d 6f | 76 65 09 23 24 38 30 30 |lite..mo|ve.#$800|
|000027e0| 32 2c 74 65 73 65 6c 72 | 65 63 74 2b 6c 65 66 74 |2,teselr|ect+left|
|000027f0| 28 41 33 29 0d 09 0d 09 | 3b 20 6d 6f 76 65 20 73 |(A3)....|; move s|
|00002800| 65 6c 72 65 63 74 20 64 | 6f 77 6e 20 6f 6e 65 20 |elrect d|own one |
|00002810| 6c 69 6e 65 2c 20 61 6e | 64 20 67 65 74 20 74 68 |line, an|d get th|
|00002820| 65 20 6e 65 78 74 0d 09 | 3b 20 6c 69 6e 65 73 74 |e next..|; linest|
|00002830| 61 72 74 2e 20 20 69 66 | 20 44 34 20 69 73 20 6f |art. if| D4 is o|
|00002840| 6e 20 74 68 69 73 20 6c | 69 6e 65 2c 20 62 72 61 |n this l|ine, bra|
|00002850| 6e 63 68 0d 09 3b 20 74 | 6f 20 6c 61 73 74 72 65 |nch..; t|o lastre|
|00002860| 63 74 2e 20 20 6f 74 68 | 65 72 77 69 73 65 2c 20 |ct. oth|erwise, |
|00002870| 68 69 67 68 6c 69 67 68 | 74 20 74 68 65 20 65 6e |highligh|t the en|
|00002880| 74 69 72 65 0d 09 3b 20 | 6c 69 6e 65 20 61 6e 64 |tire..; |line and|
|00002890| 20 6c 6f 6f 70 20 62 61 | 63 6b 2e 0d 09 0d 40 35 | loop ba|ck....@5|
|000028a0| 09 61 64 64 09 44 35 2c | 74 65 73 65 6c 72 65 63 |.add.D5,|teselrec|
|000028b0| 74 2b 74 6f 70 28 41 33 | 29 0d 09 61 64 64 09 44 |t+top(A3|)..add.D|
|000028c0| 35 2c 74 65 73 65 6c 72 | 65 63 74 2b 62 6f 74 74 |5,teselr|ect+bott|
|000028d0| 6f 6d 28 41 33 29 0d 09 | 61 64 64 71 09 23 32 2c |om(A3)..|addq.#2,|
|000028e0| 41 32 0d 09 63 6d 70 09 | 32 28 41 32 29 2c 44 34 |A2..cmp.|2(A2),D4|
|000028f0| 0d 09 62 6c 65 09 6c 61 | 73 74 72 65 63 74 0d 09 |..ble.la|strect..|
|00002900| 6a 73 72 09 73 75 62 68 | 69 6c 69 74 65 0d 09 62 |jsr.subh|ilite..b|
|00002910| 72 61 09 40 35 0d 09 0d | 09 3b 20 69 66 20 44 34 |ra.@5...|.; if D4|
|00002920| 20 69 73 20 61 74 20 74 | 68 65 20 62 65 67 69 6e | is at t|he begin|
|00002930| 6e 69 6e 67 20 6f 66 20 | 74 68 65 20 6e 65 78 74 |ning of |the next|
|00002940| 20 6c 69 6e 65 2c 0d 09 | 3b 20 73 6b 69 70 20 64 | line,..|; skip d|
|00002950| 69 72 65 63 74 6c 79 20 | 74 6f 20 68 69 67 68 6c |irectly |to highl|
|00002960| 69 67 68 74 20 70 68 61 | 73 65 2e 20 20 6f 74 68 |ight pha|se. oth|
|00002970| 65 72 77 69 73 65 2e 0d | 09 3b 20 73 65 74 20 73 |erwise..|.; set s|
|00002980| 65 6c 72 65 63 74 2e 72 | 69 67 68 74 3a 20 20 66 |elrect.r|ight: f|
|00002990| 69 6e 64 20 74 68 65 20 | 64 69 73 74 61 6e 63 65 |ind the |distance|
|000029a0| 20 66 72 6f 6d 0d 09 3b | 20 74 68 65 20 73 74 61 | from..;| the sta|
|000029b0| 72 74 20 6f 66 20 74 68 | 65 20 6c 69 6e 65 20 74 |rt of th|e line t|
|000029c0| 6f 20 44 34 2c 20 61 6e | 64 20 70 75 74 20 69 74 |o D4, an|d put it|
|000029d0| 20 69 6e 20 44 30 3b 0d | 09 3b 20 74 68 65 6e 20 | in D0;.|.; then |
|000029e0| 73 65 74 20 73 65 6c 72 | 65 63 74 2e 72 69 67 68 |set selr|ect.righ|
|000029f0| 74 20 3d 20 64 65 73 74 | 72 65 63 74 2e 6c 65 66 |t = dest|rect.lef|
|00002a00| 74 20 2b 20 44 30 2c 0d | 09 3b 20 61 6e 64 20 68 |t + D0,.|.; and h|
|00002a10| 69 67 68 6c 69 67 68 74 | 20 73 65 6c 72 65 63 74 |ighlight| selrect|
|00002a20| 2e 0d 09 0d 6c 61 73 74 | 72 65 63 74 0d 09 62 65 |....last|rect..be|
|00002a30| 71 09 40 30 0d 09 63 6c | 72 09 2d 28 53 50 29 0d |q.@0..cl|r.-(SP).|
|00002a40| 09 6d 6f 76 65 2e 6c 09 | 74 65 74 65 78 74 68 28 |.move.l.|tetexth(|
|00002a50| 41 33 29 2c 41 30 0d 09 | 6d 6f 76 65 2e 6c 09 28 |A3),A0..|move.l.(|
|00002a60| 41 30 29 2c 2d 28 53 50 | 29 0d 09 6d 6f 76 65 09 |A0),-(SP|)..move.|
|00002a70| 28 41 32 29 2c 44 30 0d | 09 6d 6f 76 65 09 44 30 |(A2),D0.|.move.D0|
|00002a80| 2c 2d 28 53 50 29 0d 09 | 6d 6f 76 65 09 44 34 2c |,-(SP)..|move.D4,|
|00002a90| 2d 28 53 50 29 0d 09 73 | 75 62 09 44 30 2c 28 53 |-(SP)..s|ub.D0,(S|
|00002aa0| 50 29 0d 09 5f 74 65 78 | 74 77 69 64 74 68 0d 09 |P).._tex|twidth..|
|00002ab0| 6d 6f 76 65 09 28 53 50 | 29 2b 2c 44 30 0d 09 61 |move.(SP|)+,D0..a|
|00002ac0| 64 64 09 74 65 64 65 73 | 74 72 65 63 74 2b 6c 65 |dd.tedes|trect+le|
|00002ad0| 66 74 28 41 33 29 2c 44 | 30 0d 09 6d 6f 76 65 09 |ft(A3),D|0..move.|
|00002ae0| 44 30 2c 74 65 73 65 6c | 72 65 63 74 2b 72 69 67 |D0,tesel|rect+rig|
|00002af0| 68 74 28 41 33 29 0d 40 | 30 09 6a 73 72 09 73 75 |ht(A3).@|0.jsr.su|
|00002b00| 62 68 69 6c 69 74 65 0d | 09 0d 09 3b 20 73 65 74 |bhilite.|...; set|
|00002b10| 20 41 30 20 74 6f 20 70 | 6f 69 6e 74 20 74 6f 20 | A0 to p|oint to |
|00002b20| 74 68 65 20 63 75 72 72 | 65 6e 74 20 67 72 61 66 |the curr|ent graf|
|00002b30| 70 6f 72 74 2c 20 72 65 | 73 74 6f 72 65 0d 09 3b |port, re|store..;|
|00002b40| 20 74 68 65 20 72 65 67 | 69 73 74 65 72 73 2c 20 | the reg|isters, |
|00002b50| 61 6e 64 20 72 65 74 75 | 72 6e 2e 0d 0d 73 74 6f |and retu|rn...sto|
|00002b60| 70 68 6c 0d 09 6d 6f 76 | 65 2e 6c 09 28 41 35 29 |phl..mov|e.l.(A5)|
|00002b70| 2c 41 30 0d 09 6d 6f 76 | 65 2e 6c 09 28 41 30 29 |,A0..mov|e.l.(A0)|
|00002b80| 2c 41 30 0d 09 6d 6f 76 | 65 6d 2e 6c 09 28 53 50 |,A0..mov|em.l.(SP|
|00002b90| 29 2b 2c 41 32 2f 44 33 | 2d 44 35 0d 09 72 74 73 |)+,A2/D3|-D5..rts|
|00002ba0| 0d 0d 3b 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |..;*****|********|
|00002bb0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002bc0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002bd0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002be0| 2a 2a 2a 0d 3b 0d 3b 09 | 73 75 62 68 69 6c 69 74 |***.;.;.|subhilit|
|00002bf0| 65 0d 3b 0d 3b 09 69 66 | 20 68 69 68 6f 6f 6b 28 |e.;.;.if| hihook(|
|00002c00| 41 33 29 20 3c 3e 20 30 | 2c 20 6a 75 6d 70 20 74 |A3) <> 0|, jump t|
|00002c10| 6f 20 69 74 3b 0d 3b 09 | 6f 74 68 65 72 77 69 73 |o it;.;.|otherwis|
|00002c20| 65 2c 20 69 6e 76 65 72 | 74 20 73 65 6c 72 65 63 |e, inver|t selrec|
|00002c30| 74 28 41 33 29 0d 3b 0d | 3b 2a 2a 2a 2a 2a 2a 2a |t(A3).;.|;*******|
|00002c40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002c50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002c60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002c70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0d 0d 73 75 62 68 69 |********|*..subhi|
|00002c80| 6c 69 74 65 0d 09 0d 09 | 3b 20 69 66 20 68 69 67 |lite....|; if hig|
|00002c90| 68 68 6f 6f 6b 20 69 73 | 20 6e 6f 74 20 6e 69 6c |hhook is| not nil|
|00002ca0| 2c 20 74 68 65 6e 20 6a | 75 6d 70 20 74 6f 20 69 |, then j|ump to i|
|00002cb0| 74 2e 0d 09 3b 20 28 49 | 20 6d 6f 76 65 64 20 74 |t...; (I| moved t|
|00002cc0| 68 65 20 22 70 65 61 22 | 20 64 6f 77 6e 20 62 65 |he "pea"| down be|
|00002cd0| 63 61 75 73 65 20 49 20 | 64 6f 6e 27 74 20 74 68 |cause I |don't th|
|00002ce0| 69 6e 6b 0d 09 3b 20 74 | 68 65 20 68 69 67 68 6c |ink..; t|he highl|
|00002cf0| 69 67 68 74 20 68 6f 6f | 6b 20 72 6f 75 74 69 6e |ight hoo|k routin|
|00002d00| 65 20 77 69 6c 6c 20 65 | 78 70 65 63 74 20 69 74 |e will e|xpect it|
|00002d10| 20 6f 6e 0d 09 3b 20 74 | 68 65 20 73 74 61 63 6b | on..; t|he stack|
|00002d20| 2e 29 0d 0d 09 6d 6f 76 | 65 2e 6c 09 74 65 68 69 |.)...mov|e.l.tehi|
|00002d30| 68 6f 6f 6b 28 41 33 29 | 2c 41 30 0d 09 63 6d 70 |hook(A3)|,A0..cmp|
|00002d40| 2e 6c 09 23 30 2c 41 30 | 0d 09 62 65 71 09 40 30 |.l.#0,A0|..beq.@0|
|00002d50| 0d 09 6a 6d 70 09 28 41 | 30 29 0d 0d 09 3b 20 6f |..jmp.(A|0)...; o|
|00002d60| 74 68 65 72 77 69 73 65 | 2c 20 69 6e 76 65 72 74 |therwise|, invert|
|00002d70| 20 73 65 6c 72 65 63 74 | 2e 0d 0d 40 30 09 70 65 | selrect|...@0.pe|
|00002d80| 61 09 74 65 73 65 6c 72 | 65 63 74 28 41 33 29 0d |a.teselr|ect(A3).|
|00002d90| 09 5f 69 6e 76 65 72 72 | 65 63 74 0d 09 72 74 73 |._inverr|ect..rts|
|00002da0| 0d 0d 3b 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |..;*****|********|
|00002db0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002dc0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002dd0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002de0| 2a 2a 2a 0d 3b 0d 3b 09 | 74 61 62 6c 69 6e 65 73 |***.;.;.|tablines|
|00002df0| 74 61 72 74 0d 3b 0d 3b | 09 6f 6e 20 65 6e 74 72 |tart.;.;|.on entr|
|00002e00| 79 3a 0d 3b 09 09 41 33 | 09 70 6f 69 6e 74 65 72 |y:.;..A3|.pointer|
|00002e10| 20 74 6f 20 6c 6f 63 6b | 65 64 20 65 64 69 74 20 | to lock|ed edit |
|00002e20| 72 65 63 6f 72 64 0d 3b | 09 09 44 36 09 66 69 72 |record.;|..D6.fir|
|00002e30| 73 74 20 63 68 61 72 20 | 6f 66 20 63 75 72 72 65 |st char |of curre|
|00002e40| 6e 74 20 6c 69 6e 65 0d | 3b 0d 3b 09 76 61 72 69 |nt line.|;.;.vari|
|00002e50| 61 62 6c 65 73 3a 0d 3b | 09 09 41 32 09 23 77 6f |ables:.;|..A2.#wo|
|00002e60| 72 64 73 20 69 6e 20 6c | 69 6e 65 0d 3b 09 09 41 |rds in l|ine.;..A|
|00002e70| 34 09 75 73 65 64 20 62 | 79 20 73 75 62 72 6f 75 |4.used b|y subrou|
|00002e80| 74 69 6e 65 73 0d 3b 09 | 09 41 36 09 75 73 65 64 |tines.;.|.A6.used|
|00002e90| 20 62 79 20 73 75 62 72 | 6f 75 74 69 6e 65 73 0d | by subr|outines.|
|00002ea0| 3b 09 09 44 35 09 70 69 | 78 65 6c 20 6c 65 6e 67 |;..D5.pi|xel leng|
|00002eb0| 74 68 20 6f 66 20 6c 61 | 73 74 20 74 61 62 0d 3b |th of la|st tab.;|
|00002ec0| 09 09 44 37 09 6c 61 73 | 74 20 63 68 61 72 20 6f |..D7.las|t char o|
|00002ed0| 66 20 63 75 72 72 65 6e | 74 20 6c 69 6e 65 0d 3b |f curren|t line.;|
|00002ee0| 0d 3b 09 6f 6e 20 65 78 | 69 74 3a 0d 3b 09 09 44 |.;.on ex|it:.;..D|
|00002ef0| 30 09 6e 65 78 74 20 6c | 69 6e 65 73 74 61 72 74 |0.next l|inestart|
|00002f00| 20 3e 20 44 36 0d 3b 0d | 3b 09 73 75 62 72 6f 75 | > D6.;.|;.subrou|
|00002f10| 74 69 6e 65 73 3a 0d 3b | 09 09 28 24 37 66 34 29 |tines:.;|..($7f4)|
|00002f20| 09 72 65 74 75 72 6e 73 | 20 69 6e 20 44 30 20 6c |.returns| in D0 l|
|00002f30| 65 6e 67 74 68 20 6f 66 | 20 74 65 78 74 20 66 72 |ength of| text fr|
|00002f40| 6f 6d 0d 3b 09 09 09 44 | 36 20 75 70 20 74 6f 20 |om.;...D|6 up to |
|00002f50| 6c 61 73 74 20 6e 6f 6e | 77 6f 72 64 62 72 65 61 |last non|wordbrea|
|00002f60| 6b 20 63 68 61 72 0d 3b | 09 09 09 3c 20 44 37 0d |k char.;|...< D7.|
|00002f70| 3b 09 09 28 24 37 66 38 | 29 09 72 65 74 75 72 6e |;..($7f8|).return|
|00002f80| 73 20 69 6e 20 44 31 20 | 74 68 65 20 63 68 61 72 |s in D1 |the char|
|00002f90| 20 70 6f 73 69 74 69 6f | 6e 0d 3b 09 09 09 62 65 | positio|n.;...be|
|00002fa0| 66 6f 72 65 20 66 69 72 | 73 74 20 77 6f 72 64 62 |fore fir|st wordb|
|00002fb0| 72 65 61 6b 20 63 68 61 | 72 20 3e 20 44 30 0d 3b |reak cha|r > D0.;|
|00002fc0| 0d 3b 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.;******|********|
|00002fd0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002fe0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002ff0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003000| 2a 2a 0d 0d 74 61 62 6c | 69 6e 65 73 74 61 72 74 |**..tabl|inestart|
|00003010| 0d 09 0d 09 3b 20 69 66 | 20 6e 6f 77 74 61 62 73 |....; if| nowtabs|
|00003020| 20 69 73 20 6e 69 6c 2c | 20 6a 75 6d 70 20 74 6f | is nil,| jump to|
|00003030| 20 74 68 65 20 73 74 61 | 6e 64 61 72 64 0d 09 3b | the sta|ndard..;|
|00003040| 20 6c 69 6e 65 73 74 61 | 72 74 20 72 6f 75 74 69 | linesta|rt routi|
|00003050| 6e 65 2e 0d 0d 09 74 73 | 74 2e 6c 09 6e 6f 77 74 |ne....ts|t.l.nowt|
|00003060| 61 62 73 28 41 35 29 0d | 09 62 6e 65 09 40 30 0d |abs(A5).|.bne.@0.|
|00003070| 09 6d 6f 76 65 2e 6c 09 | 73 74 64 6c 69 6e 65 73 |.move.l.|stdlines|
|00003080| 74 61 72 74 28 41 35 29 | 2c 41 30 0d 09 6a 6d 70 |tart(A5)|,A0..jmp|
|00003090| 09 28 41 30 29 0d 09 0d | 09 3b 20 70 72 65 73 65 |.(A0)...|.; prese|
|000030a0| 72 76 65 20 72 65 67 69 | 73 74 65 72 73 2e 20 20 |rve regi|sters. |
|000030b0| 73 65 74 20 44 34 20 3d | 20 77 69 64 74 68 20 6f |set D4 =| width o|
|000030c0| 66 20 64 65 73 74 72 65 | 63 74 0d 09 3b 20 6d 69 |f destre|ct..; mi|
|000030d0| 6e 75 73 20 31 2e 20 20 | 7a 65 72 6f 20 61 32 2e |nus 1. |zero a2.|
|000030e0| 20 20 63 6f 70 79 20 73 | 74 61 72 74 20 6f 66 20 | copy s|tart of |
|000030f0| 6c 69 6e 65 20 74 6f 20 | 64 37 2e 0d 09 0d 40 30 |line to |d7....@0|
|00003100| 09 6d 6f 76 65 6d 2e 6c | 09 44 31 2d 44 37 2f 41 |.movem.l|.D1-D7/A|
|00003110| 31 2f 41 32 2c 2d 28 53 | 50 29 0d 09 6d 6f 76 65 |1/A2,-(S|P)..move|
|00003120| 09 74 65 64 65 73 74 72 | 65 63 74 2b 72 69 67 68 |.tedestr|ect+righ|
|00003130| 74 28 41 33 29 2c 44 34 | 0d 09 73 75 62 09 74 65 |t(A3),D4|..sub.te|
|00003140| 64 65 73 74 72 65 63 74 | 2b 6c 65 66 74 28 41 33 |destrect|+left(A3|
|00003150| 29 2c 44 34 0d 09 73 75 | 62 71 09 23 31 2c 44 34 |),D4..su|bq.#1,D4|
|00003160| 0d 09 73 75 62 2e 6c 09 | 41 32 2c 41 32 0d 09 6d |..sub.l.|A2,A2..m|
|00003170| 6f 76 65 09 44 36 2c 44 | 37 0d 09 0d 09 3b 20 66 |ove.D6,D|7....; f|
|00003180| 69 6e 64 20 74 68 65 20 | 70 6f 73 69 74 69 6f 6e |ind the |position|
|00003190| 20 62 65 66 6f 72 65 20 | 74 68 65 20 66 69 72 73 | before |the firs|
|000031a0| 74 20 77 6f 72 64 62 72 | 65 61 6b 0d 09 3b 20 62 |t wordbr|eak..; b|
|000031b0| 65 79 6f 6e 64 20 44 37 | 2c 20 61 6e 64 20 6d 6f |eyond D7|, and mo|
|000031c0| 76 65 20 74 68 65 20 72 | 65 73 75 6c 74 20 74 6f |ve the r|esult to|
|000031d0| 20 64 37 2e 20 20 69 66 | 0d 09 3b 20 63 72 6f 6e | d7. if|..; cron|
|000031e0| 6c 79 20 69 73 20 74 72 | 75 65 2c 20 62 72 61 6e |ly is tr|ue, bran|
|000031f0| 63 65 20 74 6f 20 40 30 | 3b 20 6f 74 68 65 72 77 |ce to @0|; otherw|
|00003200| 69 73 65 2c 0d 09 3b 20 | 66 61 6c 6c 20 74 68 72 |ise,..; |fall thr|
|00003210| 6f 75 67 68 2e 0d 09 0d | 6c 73 6c 6f 6f 70 0d 09 |ough....|lsloop..|
|00003220| 6d 6f 76 65 09 44 37 2c | 44 30 0d 09 6d 6f 76 65 |move.D7,|D0..move|
|00003230| 71 09 23 24 63 2c 44 32 | 0d 09 6d 6f 76 65 2e 6c |q.#$c,D2|..move.l|
|00003240| 09 24 37 66 38 2c 41 30 | 0d 09 6a 73 72 09 28 41 |.$7f8,A0|..jsr.(A|
|00003250| 30 29 0d 09 6d 6f 76 65 | 09 44 31 2c 44 37 0d 09 |0)..move|.D1,D7..|
|00003260| 74 73 74 2e 62 09 74 65 | 63 72 6f 6e 6c 79 28 41 |tst.b.te|cronly(A|
|00003270| 33 29 0d 09 62 6e 65 09 | 40 30 0d 0d 09 3b 20 63 |3)..bne.|@0...; c|
|00003280| 61 6c 6c 20 24 37 66 34 | 20 74 6f 20 63 6f 6d 70 |all $7f4| to comp|
|00003290| 75 74 65 20 74 68 65 20 | 64 69 73 74 61 6e 63 65 |ute the |distance|
|000032a0| 20 66 72 6f 6d 20 74 68 | 65 0d 09 3b 20 73 74 61 | from th|e..; sta|
|000032b0| 72 74 20 6f 66 20 74 68 | 65 20 6c 69 6e 65 20 74 |rt of th|e line t|
|000032c0| 68 72 6f 75 67 68 20 74 | 68 65 20 66 69 72 73 74 |hrough t|he first|
|000032d0| 20 6e 6f 6e 77 6f 72 64 | 62 72 65 61 6b 0d 09 3b | nonword|break..;|
|000032e0| 20 61 66 74 65 72 20 64 | 37 2e 20 20 49 66 20 74 | after d|7. If t|
|000032f0| 68 69 73 20 69 73 20 62 | 65 79 6f 6e 64 20 74 68 |his is b|eyond th|
|00003300| 65 20 64 65 73 74 72 65 | 63 74 2c 0d 09 3b 20 6c |e destre|ct,..; l|
|00003310| 65 61 76 65 20 74 68 65 | 20 6c 6f 6f 70 2e 20 20 |eave the| loop. |
|00003320| 6f 74 68 65 72 77 69 73 | 65 2c 20 66 61 6c 6c 20 |otherwis|e, fall |
|00003330| 74 68 72 6f 75 67 68 2e | 0d 09 0d 09 6d 6f 76 65 |through.|....move|
|00003340| 6d 2e 6c 09 44 36 2f 44 | 37 2c 2d 28 53 50 29 0d |m.l.D6/D|7,-(SP).|
|00003350| 09 6d 6f 76 65 2e 6c 09 | 24 37 66 34 2c 41 30 0d |.move.l.|$7f4,A0.|
|00003360| 09 6a 73 72 09 28 41 30 | 29 0d 09 6d 6f 76 65 6d |.jsr.(A0|)..movem|
|00003370| 2e 6c 09 28 53 50 29 2b | 2c 44 36 2f 44 37 0d 09 |.l.(SP)+|,D6/D7..|
|00003380| 63 6d 70 09 44 34 2c 44 | 30 0d 09 62 67 65 09 40 |cmp.D4,D|0..bge.@|
|00003390| 32 0d 09 0d 09 3b 20 73 | 61 76 65 20 74 68 65 20 |2....; s|ave the |
|000033a0| 70 6f 73 69 74 69 6f 6e | 20 66 6f 75 6e 64 20 69 |position| found i|
|000033b0| 6e 20 64 35 2e 20 20 69 | 6e 63 72 65 6d 65 6e 74 |n d5. i|ncrement|
|000033c0| 20 20 41 32 2c 0d 09 3b | 20 74 68 65 20 6e 75 6d | A2,..;| the num|
|000033d0| 62 65 72 20 6f 66 20 77 | 68 6f 6c 65 20 77 6f 72 |ber of w|hole wor|
|000033e0| 64 73 20 69 6e 20 74 68 | 65 20 6c 69 6e 65 2e 20 |ds in th|e line. |
|000033f0| 20 69 66 0d 09 3b 20 44 | 37 20 3d 20 74 65 6c 65 | if..; D|7 = tele|
|00003400| 6e 67 74 68 2c 20 72 65 | 74 75 72 6e 20 44 37 20 |ngth, re|turn D7 |
|00003410| 28 76 69 61 20 44 35 29 | 2e 20 20 69 66 20 74 68 |(via D5)|. if th|
|00003420| 65 0d 09 3b 20 77 6f 72 | 64 62 72 65 61 6b 20 66 |e..; wor|dbreak f|
|00003430| 6f 75 6e 64 20 69 73 20 | 61 20 72 65 74 75 72 6e |ound is |a return|
|00003440| 20 6f 72 20 61 20 70 73 | 65 75 64 6f 2d 72 65 74 | or a ps|eudo-ret|
|00003450| 75 72 6e 2c 0d 09 3b 20 | 6c 65 61 76 65 20 74 68 |urn,..; |leave th|
|00003460| 65 20 6c 6f 6f 70 3b 20 | 6f 74 68 65 72 77 69 73 |e loop; |otherwis|
|00003470| 65 2c 20 69 6e 63 72 65 | 6d 65 6e 74 20 44 37 20 |e, incre|ment D7 |
|00003480| 28 74 6f 20 67 65 74 0d | 09 3b 20 70 61 73 74 20 |(to get.|.; past |
|00003490| 74 68 65 20 77 6f 72 64 | 62 72 65 61 6b 29 20 61 |the word|break) a|
|000034a0| 6e 64 20 6c 6f 6f 70 20 | 62 61 63 6b 2e 0d 09 0d |nd loop |back....|
|000034b0| 40 30 09 6d 6f 76 65 09 | 44 37 2c 44 35 0d 09 61 |@0.move.|D7,D5..a|
|000034c0| 64 64 71 09 23 31 2c 41 | 32 0d 09 63 6d 70 09 74 |ddq.#1,A|2..cmp.t|
|000034d0| 65 6c 65 6e 67 74 68 28 | 41 33 29 2c 44 37 0d 09 |elength(|A3),D7..|
|000034e0| 62 65 71 09 65 6e 64 6c | 73 0d 09 6d 6f 76 65 2e |beq.endl|s..move.|
|000034f0| 6c 09 74 65 74 65 78 74 | 68 28 41 33 29 2c 41 30 |l.tetext|h(A3),A0|
|00003500| 0d 09 6d 6f 76 65 2e 6c | 09 28 41 30 29 2c 41 30 |..move.l|.(A0),A0|
|00003510| 0d 09 61 6e 64 2e 6c 09 | 23 24 66 66 66 66 2c 44 |..and.l.|#$ffff,D|
|00003520| 37 0d 09 63 6d 70 2e 62 | 09 23 24 64 2c 28 41 30 |7..cmp.b|.#$d,(A0|
|00003530| 2c 64 37 2e 6c 29 0d 09 | 62 65 71 09 40 32 0d 09 |,d7.l)..|beq.@2..|
|00003540| 6a 73 72 09 74 73 74 74 | 61 62 0d 09 62 65 71 09 |jsr.tstt|ab..beq.|
|00003550| 40 32 0d 09 61 64 64 71 | 09 23 31 2c 44 37 0d 09 |@2..addq|.#1,D7..|
|00003560| 62 72 61 09 6c 73 6c 6f | 6f 70 0d 09 0d 09 3b 20 |bra.lslo|op....; |
|00003570| 69 66 20 74 68 65 20 6c | 6f 6f 70 20 63 6f 75 6e |if the l|oop coun|
|00003580| 74 65 72 20 28 74 68 65 | 20 6e 75 6d 62 65 72 20 |ter (the| number |
|00003590| 6f 66 20 77 6f 72 64 73 | 20 74 68 61 74 0d 09 3b |of words| that..;|
|000035a0| 20 66 69 74 20 69 6e 20 | 74 68 65 20 64 65 73 74 | fit in |the dest|
|000035b0| 72 65 63 74 29 20 69 73 | 20 7a 65 72 6f 2c 20 62 |rect) is| zero, b|
|000035c0| 72 61 6e 63 68 20 74 6f | 20 6f 6e 65 77 6f 72 64 |ranch to| oneword|
|000035d0| 0d 09 3b 20 74 6f 20 69 | 6e 73 65 72 74 20 61 20 |..; to i|nsert a |
|000035e0| 6c 69 6e 65 73 74 61 72 | 74 20 77 69 74 68 69 6e |linestar|t within|
|000035f0| 20 74 68 65 20 77 6f 72 | 64 2e 20 20 6f 74 68 65 | the wor|d. othe|
|00003600| 72 77 69 73 65 2c 0d 09 | 3b 20 70 75 74 20 74 68 |rwise,..|; put th|
|00003610| 65 20 6c 69 6e 65 73 74 | 61 72 74 20 61 66 74 65 |e linest|art afte|
|00003620| 72 20 74 68 65 20 77 6f | 72 64 62 72 65 61 6b 20 |r the wo|rdbreak |
|00003630| 63 68 61 72 61 63 74 65 | 72 0d 09 3b 20 66 6f 6c |characte|r..; fol|
|00003640| 6c 6f 77 69 6e 67 20 74 | 68 65 20 6c 61 73 74 20 |lowing t|he last |
|00003650| 77 68 6f 6c 65 20 77 6f | 72 64 20 69 6e 20 74 68 |whole wo|rd in th|
|00003660| 65 20 6c 69 6e 65 2c 20 | 61 6e 64 0d 09 3b 20 66 |e line, |and..; f|
|00003670| 61 6c 6c 20 74 68 72 6f | 75 67 68 2e 0d 09 0d 40 |all thro|ugh....@|
|00003680| 32 09 6d 6f 76 65 09 41 | 32 2c 44 30 0d 09 62 65 |2.move.A|2,D0..be|
|00003690| 71 09 6f 6e 65 77 6f 72 | 64 0d 09 61 64 64 71 09 |q.onewor|d..addq.|
|000036a0| 23 31 2c 44 35 0d 09 0d | 09 3b 20 72 65 74 75 72 |#1,D5...|.; retur|
|000036b0| 6e 20 74 68 65 20 6e 65 | 77 20 6c 69 6e 65 73 74 |n the ne|w linest|
|000036c0| 61 72 74 2c 20 61 6e 64 | 20 72 65 73 74 6f 72 65 |art, and| restore|
|000036d0| 20 72 65 67 69 73 74 65 | 72 73 2e 0d 09 0d 65 6e | registe|rs....en|
|000036e0| 64 6c 73 0d 09 6d 6f 76 | 65 09 44 35 2c 44 30 0d |dls..mov|e.D5,D0.|
|000036f0| 09 6d 6f 76 65 6d 2e 6c | 09 28 53 50 29 2b 2c 44 |.movem.l|.(SP)+,D|
|00003700| 31 2d 44 37 2f 41 31 2f | 41 32 0d 09 72 74 73 0d |1-D7/A1/|A2..rts.|
|00003710| 09 0d 09 3b 20 73 74 65 | 70 20 62 61 63 6b 20 74 |...; ste|p back t|
|00003720| 68 72 6f 75 67 68 20 74 | 68 65 20 77 6f 72 64 20 |hrough t|he word |
|00003730| 75 6e 74 69 6c 20 74 68 | 65 20 6c 65 6e 67 74 68 |until th|e length|
|00003740| 0d 09 3b 20 6f 66 20 74 | 68 65 20 66 69 72 73 74 |..; of t|he first|
|00003750| 20 70 61 72 74 20 69 73 | 20 6c 65 73 73 20 74 68 | part is| less th|
|00003760| 61 6e 20 74 68 65 20 77 | 69 64 74 68 20 6f 66 0d |an the w|idth of.|
|00003770| 09 3b 20 64 65 73 74 72 | 65 63 74 2e 20 20 74 68 |.; destr|ect. th|
|00003780| 65 6e 20 6d 6f 76 65 20 | 74 68 65 20 72 65 73 75 |en move |the resu|
|00003790| 6c 74 20 74 6f 20 44 35 | 20 61 6e 64 0d 09 3b 20 |lt to D5| and..; |
|000037a0| 62 72 61 6e 63 68 20 74 | 6f 20 66 69 6e 69 73 68 |branch t|o finish|
|000037b0| 2e 0d 09 0d 6f 6e 65 77 | 6f 72 64 0d 09 73 75 62 |....onew|ord..sub|
|000037c0| 71 09 23 31 2c 44 37 0d | 09 6d 6f 76 65 6d 2e 6c |q.#1,D7.|.movem.l|
|000037d0| 09 44 36 2f 44 37 2c 2d | 28 53 50 29 0d 09 6d 6f |.D6/D7,-|(SP)..mo|
|000037e0| 76 65 2e 6c 09 24 37 66 | 34 2c 41 30 0d 09 6a 73 |ve.l.$7f|4,A0..js|
|000037f0| 72 09 28 41 30 29 0d 09 | 6d 6f 76 65 6d 2e 6c 09 |r.(A0)..|movem.l.|
|00003800| 28 53 50 29 2b 2c 44 36 | 2f 44 37 0d 09 63 6d 70 |(SP)+,D6|/D7..cmp|
|00003810| 09 44 30 2c 44 34 0d 09 | 62 6c 65 09 6f 6e 65 77 |.D0,D4..|ble.onew|
|00003820| 6f 72 64 0d 09 6d 6f 76 | 65 09 44 37 2c 44 35 0d |ord..mov|e.D7,D5.|
|00003830| 09 62 72 61 09 65 6e 64 | 6c 73 0d 0d 3b 2a 2a 2a |.bra.end|ls..;***|
|00003840| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003850| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003860| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003870| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 0d 3b 0d |********|*****.;.|
|00003880| 3b 09 66 75 6e 63 74 69 | 6f 6e 20 74 61 62 74 78 |;.functi|on tabtx|
|00003890| 6d 65 61 73 28 62 79 74 | 65 63 6f 75 6e 74 20 3a |meas(byt|ecount :|
|000038a0| 20 69 6e 74 65 67 65 72 | 3b 0d 3b 09 09 74 65 78 | integer|;.;..tex|
|000038b0| 74 61 64 64 72 20 3a 20 | 70 74 72 3b 20 76 61 72 |taddr : |ptr; var|
|000038c0| 20 6e 75 6d 65 72 2c 20 | 64 65 6e 6f 6d 20 3a 20 | numer, |denom : |
|000038d0| 70 6f 69 6e 74 3b 0d 3b | 09 09 76 61 72 20 69 6e |point;.;|..var in|
|000038e0| 66 6f 20 3a 20 66 6f 6e | 74 69 6e 66 6f 29 20 3a |fo : fon|tinfo) :|
|000038f0| 20 69 6e 74 65 67 65 72 | 3b 0d 3b 0d 3b 09 41 32 | integer|;.;.;.A2|
|00003900| 09 70 74 72 20 74 6f 20 | 63 75 72 72 65 6e 74 20 |.ptr to |current |
|00003910| 63 68 61 72 0d 3b 09 41 | 33 09 70 74 72 20 74 6f |char.;.A|3.ptr to|
|00003920| 20 63 68 61 72 20 66 6f | 6c 6c 6f 77 69 6e 67 20 | char fo|llowing |
|00003930| 6c 61 73 74 20 72 65 74 | 75 72 6e 20 6f 72 20 74 |last ret|urn or t|
|00003940| 61 62 0d 3b 09 44 33 09 | 74 61 62 77 69 64 74 68 |ab.;.D3.|tabwidth|
|00003950| 0d 3b 09 44 34 09 63 6f | 75 6e 74 65 72 20 6f 66 |.;.D4.co|unter of|
|00003960| 20 61 6c 6c 20 63 68 61 | 72 0d 3b 09 44 35 09 74 | all cha|r.;.D5.t|
|00003970| 65 78 74 77 69 64 74 68 | 20 66 72 6f 6d 20 6c 61 |extwidth| from la|
|00003980| 73 74 20 72 65 74 75 72 | 6e 20 74 6f 20 70 72 65 |st retur|n to pre|
|00003990| 73 65 6e 74 20 74 61 62 | 0d 3b 09 09 28 6e 6f 6e |sent tab|.;..(non|
|000039a0| 2d 69 6e 63 6c 75 73 69 | 76 65 29 0d 3b 09 44 36 |-inclusi|ve).;.D6|
|000039b0| 09 23 20 6f 66 20 63 68 | 61 72 20 73 69 6e 63 65 |.# of ch|ar since|
|000039c0| 20 6c 61 73 74 20 72 65 | 74 75 72 6e 20 6f 72 20 | last re|turn or |
|000039d0| 74 61 62 0d 3b 09 09 28 | 6e 6f 6e 2d 69 6e 63 6c |tab.;..(|non-incl|
|000039e0| 75 73 69 76 65 29 0d 3b | 09 44 37 09 6c 65 6e 67 |usive).;|.D7.leng|
|000039f0| 74 68 20 6f 66 20 61 6c | 6c 20 74 65 78 74 0d 3b |th of al|l text.;|
|00003a00| 0d 3b 09 70 72 65 73 65 | 72 76 65 73 20 61 6c 6c |.;.prese|rves all|
|00003a10| 20 72 65 67 69 73 74 65 | 72 73 20 65 78 63 65 70 | registe|rs excep|
|00003a20| 74 20 41 30 20 61 6e 64 | 20 44 30 0d 3b 0d 3b 2a |t A0 and| D0.;.;*|
|00003a30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003a40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003a50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003a60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 0d |********|*******.|
|00003a70| 0d 74 61 62 74 78 6d 65 | 61 73 0d 09 0d 09 3b 20 |.tabtxme|as....; |
|00003a80| 73 61 76 65 20 72 65 67 | 69 73 74 65 72 73 2e 0d |save reg|isters..|
|00003a90| 0d 09 6d 6f 76 65 6d 2e | 6c 09 41 32 2d 41 33 2f |..movem.|l.A2-A3/|
|00003aa0| 44 33 2d 44 37 2c 2d 28 | 53 50 29 0d 09 0d 09 3b |D3-D7,-(|SP)....;|
|00003ab0| 20 44 34 20 3d 20 62 79 | 74 65 63 6f 75 6e 74 3b | D4 = by|tecount;|
|00003ac0| 20 41 32 20 3d 20 74 65 | 78 74 61 64 64 72 2c 20 | A2 = te|xtaddr, |
|00003ad0| 44 33 20 3d 20 74 61 62 | 77 69 64 74 68 2e 0d 09 |D3 = tab|width...|
|00003ae0| 3b 20 69 6e 69 74 69 61 | 6c 69 7a 65 20 41 33 20 |; initia|lize A3 |
|00003af0| 28 70 6f 69 6e 74 65 72 | 20 74 6f 20 63 68 61 72 |(pointer| to char|
|00003b00| 61 63 74 65 72 20 61 66 | 74 65 72 0d 09 3b 20 6c |acter af|ter..; l|
|00003b10| 61 73 74 20 72 65 74 75 | 72 6e 20 6f 72 20 74 61 |ast retu|rn or ta|
|00003b20| 62 29 2c 20 44 35 20 28 | 77 69 64 74 68 20 66 72 |b), D5 (|width fr|
|00003b30| 6f 6d 20 6c 61 73 74 0d | 09 3b 20 72 65 74 75 72 |om last.|.; retur|
|00003b40| 6e 20 74 6f 20 63 75 72 | 72 65 6e 74 20 74 61 62 |n to cur|rent tab|
|00003b50| 29 20 61 6e 64 20 44 36 | 20 28 63 68 61 72 61 63 |) and D6| (charac|
|00003b60| 74 65 72 0d 09 3b 20 63 | 6f 75 6e 74 20 66 72 6f |ter..; c|ount fro|
|00003b70| 6d 20 6c 61 73 74 20 72 | 65 74 75 72 6e 20 6f 72 |m last r|eturn or|
|00003b80| 20 74 61 62 29 2e 0d 09 | 0d 09 6d 6f 76 65 09 34 | tab)...|..move.4|
|00003b90| 38 28 53 50 29 2c 44 34 | 0d 09 6d 6f 76 65 2e 6c |8(SP),D4|..move.l|
|00003ba0| 09 34 34 28 53 50 29 2c | 41 32 0d 09 6d 6f 76 65 |.44(SP),|A2..move|
|00003bb0| 2e 6c 09 6e 6f 77 74 61 | 62 73 28 41 35 29 2c 41 |.l.nowta|bs(A5),A|
|00003bc0| 30 0d 09 6d 6f 76 65 2e | 6c 09 28 41 30 29 2c 41 |0..move.|l.(A0),A|
|00003bd0| 30 0d 09 6d 6f 76 65 09 | 74 61 62 77 69 64 74 68 |0..move.|tabwidth|
|00003be0| 28 41 30 29 2c 44 33 0d | 09 6d 6f 76 65 2e 6c 09 |(A0),D3.|.move.l.|
|00003bf0| 41 32 2c 41 33 0d 09 63 | 6c 72 09 44 35 0d 09 63 |A2,A3..c|lr.D5..c|
|00003c00| 6c 72 09 44 36 0d 09 0d | 09 3b 20 44 37 20 3d 20 |lr.D6...|.; D7 = |
|00003c10| 74 68 65 20 73 74 61 6e | 64 61 72 64 20 77 69 64 |the stan|dard wid|
|00003c20| 74 68 20 6f 66 20 61 6c | 6c 20 74 68 65 20 74 65 |th of al|l the te|
|00003c30| 78 74 0d 09 3b 20 64 65 | 63 72 65 6d 65 6e 74 20 |xt..; de|crement |
|00003c40| 44 34 20 28 62 79 74 65 | 63 6f 75 6e 74 29 2e 0d |D4 (byte|count)..|
|00003c50| 09 0d 09 63 6c 72 09 2d | 28 53 50 29 0d 09 6d 6f |...clr.-|(SP)..mo|
|00003c60| 76 65 09 44 34 2c 2d 28 | 53 50 29 0d 09 6d 6f 76 |ve.D4,-(|SP)..mov|
|00003c70| 65 2e 6c 09 41 32 2c 2d | 28 53 50 29 0d 09 6d 6f |e.l.A2,-|(SP)..mo|
|00003c80| 76 65 2e 6c 09 34 38 28 | 53 50 29 2c 2d 28 53 50 |ve.l.48(|SP),-(SP|
|00003c90| 29 09 3b 20 6e 75 6d 65 | 72 0d 09 6d 6f 76 65 2e |).; nume|r..move.|
|00003ca0| 6c 09 34 38 28 53 50 29 | 2c 2d 28 53 50 29 09 3b |l.48(SP)|,-(SP).;|
|00003cb0| 20 64 65 6e 6f 6d 0d 09 | 6d 6f 76 65 2e 6c 09 34 | denom..|move.l.4|
|00003cc0| 38 28 53 50 29 2c 2d 28 | 53 50 29 09 3b 20 69 6e |8(SP),-(|SP).; in|
|00003cd0| 66 6f 0d 09 5f 73 74 64 | 74 78 6d 65 61 73 0d 09 |fo.._std|txmeas..|
|00003ce0| 6d 6f 76 65 09 28 53 50 | 29 2b 2c 44 37 0d 09 73 |move.(SP|)+,D7..s|
|00003cf0| 75 62 71 09 23 31 2c 44 | 34 0d 09 0d 09 3b 20 63 |ubq.#1,D|4....; c|
|00003d00| 68 65 63 6b 20 74 68 65 | 20 6e 65 78 74 20 62 79 |heck the| next by|
|00003d10| 74 65 20 61 6e 64 20 69 | 6e 63 72 65 6d 65 6e 74 |te and i|ncrement|
|00003d20| 20 61 32 2e 20 20 69 66 | 0d 09 3b 20 69 74 20 77 | a2. if|..; it w|
|00003d30| 61 73 20 61 20 72 65 74 | 75 72 6e 2c 20 7a 65 72 |as a ret|urn, zer|
|00003d40| 6f 20 44 35 20 61 6e 64 | 20 62 72 61 6e 63 68 20 |o D5 and| branch |
|00003d50| 74 6f 0d 09 3b 20 62 6f | 74 68 63 72 61 6e 64 74 |to..; bo|thcrandt|
|00003d60| 61 62 2e 0d 09 0d 63 68 | 6b 63 72 0d 09 63 6d 70 |ab....ch|kcr..cmp|
|00003d70| 2e 62 09 23 31 33 2c 28 | 41 32 29 2b 0d 09 62 6e |.b.#13,(|A2)+..bn|
|00003d80| 65 09 63 68 6b 74 61 62 | 0d 09 63 6c 72 09 44 35 |e.chktab|..clr.D5|
|00003d90| 0d 09 62 72 61 09 62 6f | 74 68 63 72 61 6e 64 74 |..bra.bo|thcrandt|
|00003da0| 61 62 0d 09 0d 09 3b 20 | 63 68 65 63 6b 20 74 68 |ab....; |check th|
|00003db0| 65 20 73 61 6d 65 20 62 | 79 74 65 20 61 67 61 69 |e same b|yte agai|
|00003dc0| 6e 2e 20 20 69 66 20 69 | 74 20 69 73 6e 27 74 20 |n. if i|t isn't |
|00003dd0| 61 20 74 61 62 2c 0d 09 | 3b 20 62 72 61 6e 63 68 |a tab,..|; branch|
|00003de0| 20 74 6f 20 65 6e 64 6c | 6f 6f 70 2e 20 20 6f 74 | to endl|oop. ot|
|00003df0| 68 65 72 77 69 73 65 2c | 20 73 75 62 74 72 61 63 |herwise,| subtrac|
|00003e00| 74 20 6f 6e 65 0d 09 3b | 20 74 61 62 77 69 64 74 |t one..;| tabwidt|
|00003e10| 68 20 66 72 6f 6d 20 74 | 68 65 20 6c 69 6e 65 77 |h from t|he linew|
|00003e20| 69 64 74 68 20 69 6e 20 | 44 37 20 28 74 6f 20 6d |idth in |D7 (to m|
|00003e30| 61 6b 65 20 74 68 65 0d | 09 3b 20 77 69 64 74 68 |ake the.|.; width|
|00003e40| 20 6f 66 20 61 20 74 61 | 62 20 7a 65 72 6f 29 2e | of a ta|b zero).|
|00003e50| 0d 09 0d 63 68 6b 74 61 | 62 0d 09 63 6d 70 2e 62 |...chkta|b..cmp.b|
|00003e60| 09 23 39 2c 2d 31 28 41 | 32 29 0d 09 62 6e 65 09 |.#9,-1(A|2)..bne.|
|00003e70| 65 6e 64 6c 6f 6f 70 0d | 09 73 75 62 09 44 33 2c |endloop.|.sub.D3,|
|00003e80| 44 37 0d 09 0d 09 3b 20 | 44 35 20 3d 20 44 35 20 |D7....; |D5 = D5 |
|00003e90| 2b 20 77 69 64 74 68 20 | 6f 66 20 63 68 61 72 61 |+ width |of chara|
|00003ea0| 63 74 65 72 73 20 66 72 | 6f 6d 20 6c 61 73 74 20 |cters fr|om last |
|00003eb0| 72 65 74 75 72 6e 0d 09 | 3b 20 6f 72 20 74 61 62 |return..|; or tab|
|00003ec0| 2e 0d 09 0d 09 63 6c 72 | 09 2d 28 53 50 29 0d 09 |.....clr|.-(SP)..|
|00003ed0| 6d 6f 76 65 09 44 36 2c | 2d 28 53 50 29 0d 09 6d |move.D6,|-(SP)..m|
|00003ee0| 6f 76 65 2e 6c 09 41 33 | 2c 2d 28 53 50 29 0d 09 |ove.l.A3|,-(SP)..|
|00003ef0| 6d 6f 76 65 2e 6c 09 34 | 38 28 53 50 29 2c 2d 28 |move.l.4|8(SP),-(|
|00003f00| 53 50 29 09 3b 20 6e 75 | 6d 65 72 0d 09 6d 6f 76 |SP).; nu|mer..mov|
|00003f10| 65 2e 6c 09 34 38 28 53 | 50 29 2c 2d 28 53 50 29 |e.l.48(S|P),-(SP)|
|00003f20| 09 3b 20 64 65 6e 6f 6d | 0d 09 6d 6f 76 65 2e 6c |.; denom|..move.l|
|00003f30| 09 34 38 28 53 50 29 2c | 2d 28 53 50 29 09 3b 20 |.48(SP),|-(SP).; |
|00003f40| 69 6e 66 6f 0d 09 5f 73 | 74 64 74 78 6d 65 61 73 |info.._s|tdtxmeas|
|00003f50| 0d 09 61 64 64 09 28 53 | 50 29 2b 2c 44 35 0d 09 |..add.(S|P)+,D5..|
|00003f60| 0d 09 3b 20 44 30 20 3d | 20 6e 75 6d 62 65 72 20 |..; D0 =| number |
|00003f70| 6f 66 20 74 61 62 20 73 | 74 6f 70 73 2e 20 20 69 |of tab s|tops. i|
|00003f80| 66 20 7a 65 72 6f 2c 20 | 74 68 65 6e 0d 09 3b 20 |f zero, |then..; |
|00003f90| 62 72 61 6e 63 68 20 74 | 6f 20 68 61 6e 64 6c 65 |branch t|o handle|
|00003fa0| 20 70 73 65 75 64 6f 2d | 72 65 74 75 72 6e 2e 20 | pseudo-|return. |
|00003fb0| 20 6f 74 68 65 72 77 69 | 73 65 2c 0d 09 3b 20 41 | otherwi|se,..; A|
|00003fc0| 30 20 3d 20 70 6f 69 6e | 74 65 72 20 74 6f 20 74 |0 = poin|ter to t|
|00003fd0| 61 62 20 74 61 62 6c 65 | 2e 0d 09 0d 09 6d 6f 76 |ab table|.....mov|
|00003fe0| 65 2e 6c 09 6e 6f 77 74 | 61 62 73 28 41 35 29 2c |e.l.nowt|abs(A5),|
|00003ff0| 41 30 0d 09 6d 6f 76 65 | 2e 6c 09 28 41 30 29 2c |A0..move|.l.(A0),|
|00004000| 41 30 0d 09 6d 6f 76 65 | 09 6c 61 73 74 74 61 62 |A0..move|.lasttab|
|00004010| 28 41 30 29 2c 44 30 0d | 09 62 65 71 09 62 6f 74 |(A0),D0.|.beq.bot|
|00004020| 68 63 72 61 6e 64 74 61 | 62 0d 09 73 75 62 71 09 |hcrandta|b..subq.|
|00004030| 23 31 2c 44 30 0d 09 6c | 65 61 09 74 61 62 73 28 |#1,D0..l|ea.tabs(|
|00004040| 41 30 29 2c 41 30 0d 09 | 0d 09 3b 20 73 65 61 72 |A0),A0..|..; sear|
|00004050| 63 68 20 74 68 65 20 74 | 61 62 20 74 61 62 6c 65 |ch the t|ab table|
|00004060| 20 66 6f 72 20 74 68 65 | 20 66 69 72 73 74 20 74 | for the| first t|
|00004070| 61 62 20 73 74 6f 70 0d | 09 3b 20 62 65 79 6f 6e |ab stop.|.; beyon|
|00004080| 64 20 74 68 65 20 63 75 | 72 72 65 6e 74 20 63 68 |d the cu|rrent ch|
|00004090| 61 72 61 63 74 65 72 2e | 20 20 74 68 65 20 6c 6f |aracter.| the lo|
|000040a0| 6f 70 20 69 73 0d 09 3b | 20 6c 69 6d 69 74 65 64 |op is..;| limited|
|000040b0| 20 62 79 20 6c 61 73 74 | 74 61 62 20 28 74 68 65 | by last|tab (the|
|000040c0| 20 6e 75 6d 62 65 72 20 | 6f 66 20 74 61 62 20 73 | number |of tab s|
|000040d0| 74 6f 70 73 29 2e 0d 09 | 0d 40 30 09 63 6d 70 09 |tops)...|.@0.cmp.|
|000040e0| 28 41 30 29 2b 2c 44 35 | 0d 09 64 62 6c 74 09 44 |(A0)+,D5|..dblt.D|
|000040f0| 30 2c 40 30 0d 09 0d 09 | 3b 20 69 66 20 74 68 65 |0,@0....|; if the|
|00004100| 20 6c 6f 6f 70 20 65 6e | 64 65 64 20 62 79 20 69 | loop en|ded by i|
|00004110| 6e 64 65 78 20 69 6e 73 | 74 65 61 64 20 6f 66 0d |ndex ins|tead of.|
|00004120| 09 3b 20 73 61 74 69 73 | 66 79 69 6e 67 20 74 68 |.; satis|fying th|
|00004130| 65 20 63 6f 6e 64 69 74 | 69 6f 6e 2c 20 74 68 65 |e condit|ion, the|
|00004140| 6e 20 74 68 65 20 63 75 | 72 72 65 6e 74 0d 09 3b |n the cu|rrent..;|
|00004150| 20 63 68 61 72 61 63 74 | 65 72 20 69 73 20 70 61 | charact|er is pa|
|00004160| 73 74 20 74 68 65 20 6c | 61 73 74 20 74 61 62 20 |st the l|ast tab |
|00004170| 73 74 6f 70 2c 20 61 6e | 64 0d 09 3b 20 74 68 69 |stop, an|d..; thi|
|00004180| 73 20 69 73 20 61 20 70 | 73 65 75 64 6f 2d 72 65 |s is a p|seudo-re|
|00004190| 74 75 72 6e 2c 20 73 6f | 20 62 72 61 6e 63 68 20 |turn, so| branch |
|000041a0| 74 6f 0d 09 3b 20 62 6f | 74 68 63 72 61 6e 64 74 |to..; bo|thcrandt|
|000041b0| 61 62 2e 20 20 0d 0d 09 | 62 67 65 09 62 6f 74 68 |ab. ...|bge.both|
|000041c0| 63 72 61 6e 64 74 61 62 | 0d 09 0d 09 3b 20 66 72 |crandtab|....; fr|
|000041d0| 6f 6d 20 74 68 65 20 77 | 69 64 74 68 20 6f 66 20 |om the w|idth of |
|000041e0| 61 6c 6c 20 74 68 65 20 | 74 65 78 74 20 28 44 37 |all the |text (D7|
|000041f0| 29 20 73 75 62 74 72 61 | 63 74 0d 09 3b 20 74 68 |) subtra|ct..; th|
|00004200| 65 20 77 69 64 74 68 20 | 6f 66 20 74 68 65 20 74 |e width |of the t|
|00004210| 65 78 74 20 73 6f 20 66 | 61 72 20 28 44 35 29 20 |ext so f|ar (D5) |
|00004220| 61 6e 64 20 72 65 70 6c | 61 63 65 0d 09 3b 20 69 |and repl|ace..; i|
|00004230| 74 20 77 69 74 68 20 74 | 68 65 20 74 61 62 73 74 |t with t|he tabst|
|00004240| 6f 70 20 28 2d 32 28 41 | 30 29 29 2e 20 20 74 68 |op (-2(A|0)). th|
|00004250| 65 6e 20 73 65 74 20 74 | 68 65 0d 09 3b 20 77 69 |en set t|he..; wi|
|00004260| 64 74 68 20 6f 66 20 74 | 68 65 20 74 65 78 74 20 |dth of t|he text |
|00004270| 73 6f 20 66 61 72 20 3d | 20 74 68 65 20 74 61 62 |so far =| the tab|
|00004280| 73 74 6f 70 2e 0d 0d 09 | 61 64 64 09 2d 32 28 41 |stop....|add.-2(A|
|00004290| 30 29 2c 44 37 0d 09 73 | 75 62 09 44 35 2c 44 37 |0),D7..s|ub.D5,D7|
|000042a0| 0d 09 6d 6f 76 65 09 2d | 32 28 41 30 29 2c 44 35 |..move.-|2(A0),D5|
|000042b0| 0d 09 0d 09 3b 20 72 65 | 2d 69 6e 69 74 69 61 6c |....; re|-initial|
|000042c0| 69 7a 65 20 44 36 20 28 | 63 68 61 72 61 63 74 65 |ize D6 (|characte|
|000042d0| 72 20 63 6f 75 6e 74 20 | 66 72 6f 6d 20 6c 61 73 |r count |from las|
|000042e0| 74 0d 09 3b 20 72 65 74 | 75 72 6e 20 6f 72 20 74 |t..; ret|urn or t|
|000042f0| 61 62 29 20 61 6e 64 20 | 41 33 20 28 70 6f 69 6e |ab) and |A3 (poin|
|00004300| 74 65 72 20 74 6f 20 63 | 68 61 72 61 63 74 65 72 |ter to c|haracter|
|00004310| 0d 09 3b 20 72 69 67 68 | 74 20 61 66 74 65 72 20 |..; righ|t after |
|00004320| 6c 61 73 74 20 72 65 74 | 75 72 6e 20 6f 72 20 74 |last ret|urn or t|
|00004330| 61 62 29 2e 0d 09 0d 62 | 6f 74 68 63 72 61 6e 64 |ab)....b|othcrand|
|00004340| 74 61 62 0d 09 6d 6f 76 | 65 71 09 23 2d 31 2c 44 |tab..mov|eq.#-1,D|
|00004350| 36 0d 09 6d 6f 76 65 2e | 6c 09 41 32 2c 41 33 0d |6..move.|l.A2,A3.|
|00004360| 09 0d 09 3b 20 69 6e 63 | 72 65 6d 65 6e 74 20 74 |...; inc|rement t|
|00004370| 68 65 20 63 6f 75 6e 74 | 20 6f 66 20 63 68 61 72 |he count| of char|
|00004380| 61 63 74 65 72 73 20 73 | 69 6e 63 65 20 6c 61 73 |acters s|ince las|
|00004390| 74 0d 09 3b 20 72 65 74 | 75 72 6e 20 6f 72 20 74 |t..; ret|urn or t|
|000043a0| 61 62 2e 20 20 64 65 63 | 72 65 6d 65 6e 74 20 6c |ab. dec|rement l|
|000043b0| 6f 6f 70 20 63 6f 75 6e | 74 65 72 20 61 6e 64 0d |oop coun|ter and.|
|000043c0| 09 3b 20 6c 6f 6f 70 20 | 62 61 63 6b 20 69 66 20 |.; loop |back if |
|000043d0| 6e 6f 74 20 65 78 68 61 | 75 73 74 65 64 2e 0d 09 |not exha|usted...|
|000043e0| 0d 65 6e 64 6c 6f 6f 70 | 0d 09 61 64 64 71 09 23 |.endloop|..addq.#|
|000043f0| 31 2c 44 36 0d 09 64 62 | 66 09 44 34 2c 63 68 6b |1,D6..db|f.D4,chk|
|00004400| 63 72 0d 09 0d 09 3b 20 | 72 65 74 75 72 6e 20 74 |cr....; |return t|
|00004410| 68 65 20 74 65 78 74 20 | 77 69 64 74 68 0d 09 0d |he text |width...|
|00004420| 09 6d 6f 76 65 09 44 37 | 2c 35 30 28 53 50 29 0d |.move.D7|,50(SP).|
|00004430| 09 0d 09 3b 20 72 65 73 | 74 6f 72 65 20 72 65 67 |...; res|tore reg|
|00004440| 69 73 74 65 72 73 2c 20 | 63 6c 65 61 6e 20 75 70 |isters, |clean up|
|00004450| 20 74 68 65 20 73 74 61 | 63 6b 2c 20 61 6e 64 0d | the sta|ck, and.|
|00004460| 09 3b 20 72 65 74 75 72 | 6e 2e 0d 09 0d 09 6d 6f |.; retur|n.....mo|
|00004470| 76 65 6d 2e 6c 09 28 53 | 50 29 2b 2c 41 32 2f 41 |vem.l.(S|P)+,A2/A|
|00004480| 33 2f 44 33 2d 44 37 0d | 09 6d 6f 76 65 2e 6c 09 |3/D3-D7.|.move.l.|
|00004490| 28 53 50 29 2c 41 30 0d | 09 61 64 64 09 23 24 31 |(SP),A0.|.add.#$1|
|000044a0| 36 2c 53 50 0d 09 6a 6d | 70 09 28 41 30 29 0d 20 |6,SP..jm|p.(A0). |
|000044b0| 0d 3b 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |.;******|********|
|000044c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000044d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000044e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000044f0| 2a 2a 0d 3b 0d 3b 09 70 | 72 6f 63 65 64 75 72 65 |**.;.;.p|rocedure|
|00004500| 20 74 61 62 74 78 77 72 | 69 74 65 28 62 79 74 65 | tabtxwr|ite(byte|
|00004510| 63 6f 75 6e 74 20 3a 20 | 69 6e 74 65 67 65 72 3b |count : |integer;|
|00004520| 0d 3b 09 09 74 65 78 74 | 61 64 64 72 20 3a 20 70 |.;..text|addr : p|
|00004530| 74 72 3b 20 6e 75 6d 65 | 72 2c 20 64 65 6e 6f 6d |tr; nume|r, denom|
|00004540| 20 3a 20 70 6f 69 6e 74 | 29 3b 0d 3b 0d 3b 09 41 | : point|);.;.;.A|
|00004550| 32 09 70 74 72 20 74 6f | 20 63 75 72 72 65 6e 74 |2.ptr to| current|
|00004560| 20 63 68 61 72 0d 3b 09 | 41 33 09 70 74 72 20 74 | char.;.|A3.ptr t|
|00004570| 6f 20 63 68 61 72 20 66 | 6f 6c 6c 6f 77 69 6e 67 |o char f|ollowing|
|00004580| 20 6c 61 73 74 20 74 61 | 62 0d 3b 09 44 34 09 63 | last ta|b.;.D4.c|
|00004590| 6f 75 6e 74 65 72 20 6f | 66 20 61 6c 6c 20 63 68 |ounter o|f all ch|
|000045a0| 61 72 0d 3b 09 44 35 09 | 74 65 78 74 77 69 64 74 |ar.;.D5.|textwidt|
|000045b0| 68 20 66 72 6f 6d 20 6c | 61 73 74 20 72 65 74 75 |h from l|ast retu|
|000045c0| 72 6e 20 74 6f 20 70 72 | 65 73 65 6e 74 20 74 61 |rn to pr|esent ta|
|000045d0| 62 0d 3b 09 09 28 6e 6f | 6e 2d 69 6e 63 6c 75 73 |b.;..(no|n-inclus|
|000045e0| 69 76 65 29 0d 3b 09 44 | 36 09 23 20 6f 66 20 63 |ive).;.D|6.# of c|
|000045f0| 68 61 72 20 73 69 6e 63 | 65 20 6c 61 73 74 20 74 |har sinc|e last t|
|00004600| 61 62 20 28 6e 6f 6e 2d | 69 6e 63 6c 75 73 69 76 |ab (non-|inclusiv|
|00004610| 65 29 0d 3b 09 44 37 09 | 74 65 64 65 73 74 72 65 |e).;.D7.|tedestre|
|00004620| 63 74 2e 6c 65 66 74 0d | 3b 0d 3b 09 70 72 65 73 |ct.left.|;.;.pres|
|00004630| 65 72 76 65 73 20 61 6c | 6c 20 72 65 67 69 73 74 |erves al|l regist|
|00004640| 65 72 73 20 65 78 63 65 | 70 74 20 41 30 20 61 6e |ers exce|pt A0 an|
|00004650| 64 20 44 30 0d 3b 0d 3b | 2a 2a 2a 2a 2a 2a 2a 2a |d D0.;.;|********|
|00004660| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004670| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004680| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004690| 2a 2a 2a 2a 2a 2a 2a 2a | 0d 0d 74 61 62 74 78 77 |********|..tabtxw|
|000046a0| 72 69 74 65 0d 09 0d 09 | 3b 20 70 72 65 73 65 72 |rite....|; preser|
|000046b0| 76 65 20 72 65 67 69 73 | 74 65 72 73 0d 0d 09 6d |ve regis|ters...m|
|000046c0| 6f 76 65 6d 2e 6c 09 41 | 32 2d 41 33 2f 44 34 2d |ovem.l.A|2-A3/D4-|
|000046d0| 44 37 2c 2d 28 53 50 29 | 0d 09 0d 09 3b 20 44 34 |D7,-(SP)|....; D4|
|000046e0| 20 3d 20 62 79 74 65 63 | 6f 75 6e 74 3b 20 41 32 | = bytec|ount; A2|
|000046f0| 20 3d 20 74 65 78 74 61 | 64 64 72 2e 20 20 69 6e | = texta|ddr. in|
|00004700| 69 74 69 61 6c 69 7a 65 | 0d 09 3b 20 41 33 20 28 |itialize|..; A3 (|
|00004710| 70 74 72 20 74 6f 20 63 | 68 61 72 61 63 74 65 72 |ptr to c|haracter|
|00004720| 20 61 66 74 65 72 20 6c | 61 73 74 20 74 61 62 29 | after l|ast tab)|
|00004730| 2c 20 44 36 0d 09 3b 20 | 28 63 68 61 72 61 63 74 |, D6..; |(charact|
|00004740| 65 72 20 63 6f 75 6e 74 | 20 73 69 6e 63 65 20 6c |er count| since l|
|00004750| 61 73 74 20 74 61 62 29 | 2c 20 61 6e 64 20 44 37 |ast tab)|, and D7|
|00004760| 0d 09 3b 20 28 64 65 73 | 74 72 65 63 74 2e 6c 65 |..; (des|trect.le|
|00004770| 66 74 29 2e 0d 09 0d 09 | 6d 6f 76 65 09 34 30 28 |ft).....|move.40(|
|00004780| 53 50 29 2c 44 34 0d 09 | 73 75 62 71 09 23 31 2c |SP),D4..|subq.#1,|
|00004790| 44 34 0d 09 6d 6f 76 65 | 2e 6c 09 33 36 28 53 50 |D4..move|.l.36(SP|
|000047a0| 29 2c 41 32 0d 09 6d 6f | 76 65 2e 6c 09 41 32 2c |),A2..mo|ve.l.A2,|
|000047b0| 41 33 0d 09 63 6c 72 09 | 44 36 0d 09 6d 6f 76 65 |A3..clr.|D6..move|
|000047c0| 2e 6c 09 6e 6f 77 74 65 | 28 41 35 29 2c 41 30 0d |.l.nowte|(A5),A0.|
|000047d0| 09 6d 6f 76 65 2e 6c 09 | 28 41 30 29 2c 41 30 0d |.move.l.|(A0),A0.|
|000047e0| 09 6d 6f 76 65 09 32 28 | 41 30 29 2c 44 37 0d 09 |.move.2(|A0),D7..|
|000047f0| 0d 09 3b 20 63 68 65 63 | 6b 20 74 68 65 20 6e 65 |..; chec|k the ne|
|00004800| 78 74 20 63 68 61 72 61 | 63 74 65 72 20 61 6e 64 |xt chara|cter and|
|00004810| 20 69 6e 63 72 65 6d 65 | 6e 74 20 61 32 2e 0d 09 | increme|nt a2...|
|00004820| 3b 20 69 66 20 69 74 20 | 77 61 73 20 61 20 74 61 |; if it |was a ta|
|00004830| 62 2c 20 66 61 6c 6c 20 | 74 68 72 6f 75 67 68 3b |b, fall |through;|
|00004840| 20 6f 74 68 65 72 77 69 | 73 65 2c 0d 09 3b 20 62 | otherwi|se,..; b|
|00004850| 72 61 6e 63 68 20 74 6f | 20 74 68 65 20 62 6f 74 |ranch to| the bot|
|00004860| 74 6f 6d 20 6f 66 20 74 | 68 65 20 6c 6f 6f 70 2e |tom of t|he loop.|
|00004870| 0d 09 0d 63 68 6b 74 61 | 62 32 0d 09 63 6d 70 2e |...chkta|b2..cmp.|
|00004880| 62 09 23 39 2c 28 41 32 | 29 2b 0d 09 62 6e 65 09 |b.#9,(A2|)+..bne.|
|00004890| 65 6e 64 6c 6f 6f 70 32 | 0d 09 0d 09 3b 20 64 72 |endloop2|....; dr|
|000048a0| 61 77 20 74 68 65 20 74 | 65 78 74 20 66 72 6f 6d |aw the t|ext from|
|000048b0| 20 74 68 65 20 70 72 65 | 76 69 6f 75 73 20 74 61 | the pre|vious ta|
|000048c0| 62 2e 0d 09 0d 09 6d 6f | 76 65 09 44 36 2c 2d 28 |b.....mo|ve.D6,-(|
|000048d0| 53 50 29 0d 09 6d 6f 76 | 65 2e 6c 09 41 33 2c 2d |SP)..mov|e.l.A3,-|
|000048e0| 28 53 50 29 0d 09 6d 6f | 76 65 2e 6c 09 33 38 28 |(SP)..mo|ve.l.38(|
|000048f0| 53 50 29 2c 2d 28 53 50 | 29 09 3b 20 6e 75 6d 65 |SP),-(SP|).; nume|
|00004900| 72 0d 09 6d 6f 76 65 2e | 6c 09 33 38 28 53 50 29 |r..move.|l.38(SP)|
|00004910| 2c 2d 28 53 50 29 09 3b | 20 64 65 6e 6f 6d 0d 09 |,-(SP).;| denom..|
|00004920| 5f 73 74 64 74 65 78 74 | 0d 09 0d 09 3b 20 72 65 |_stdtext|....; re|
|00004930| 2d 69 6e 69 74 69 61 6c | 69 7a 65 20 44 36 20 28 |-initial|ize D6 (|
|00004940| 63 68 61 72 61 63 74 65 | 72 20 63 6f 75 6e 74 20 |characte|r count |
|00004950| 73 69 6e 63 65 20 6c 61 | 73 74 0d 09 3b 20 74 61 |since la|st..; ta|
|00004960| 62 29 20 61 6e 64 20 41 | 33 20 28 70 6f 69 6e 74 |b) and A|3 (point|
|00004970| 65 72 20 74 6f 20 63 68 | 61 72 61 63 74 65 72 20 |er to ch|aracter |
|00004980| 61 66 74 65 72 20 6c 61 | 73 74 0d 09 3b 20 74 61 |after la|st..; ta|
|00004990| 62 29 2e 0d 09 0d 09 6d | 6f 76 65 71 09 23 2d 31 |b).....m|oveq.#-1|
|000049a0| 2c 44 36 0d 09 6d 6f 76 | 65 2e 6c 09 41 32 2c 41 |,D6..mov|e.l.A2,A|
|000049b0| 33 0d 09 0d 09 3b 20 66 | 61 6e 63 79 20 73 74 75 |3....; f|ancy stu|
|000049c0| 66 66 20 68 65 72 65 2e | 20 20 68 65 20 6d 61 6b |ff here.| he mak|
|000049d0| 65 73 20 72 6f 6f 6d 20 | 66 6f 72 20 61 20 70 6f |es room |for a po|
|000049e0| 69 6e 74 0d 09 3b 20 6f | 6e 20 74 68 65 20 73 74 |int..; o|n the st|
|000049f0| 61 63 6b 2c 20 77 69 74 | 68 20 69 74 73 20 61 64 |ack, wit|h its ad|
|00004a00| 64 72 65 73 73 20 6f 6e | 20 74 6f 70 2e 0d 09 3b |dress on| top...;|
|00004a10| 20 67 65 74 70 65 6e 20 | 77 69 6c 6c 20 70 6f 70 | getpen |will pop|
|00004a20| 20 74 68 65 20 61 64 64 | 72 65 73 73 20 61 6e 64 | the add|ress and|
|00004a30| 20 75 70 64 61 74 65 20 | 74 68 65 0d 09 3b 20 70 | update |the..; p|
|00004a40| 6f 69 6e 74 3b 20 6e 6f | 77 2c 20 74 68 65 70 6f |oint; no|w, thepo|
|00004a50| 69 6e 74 2e 68 20 69 73 | 20 6f 6e 20 74 6f 70 20 |int.h is| on top |
|00004a60| 61 6e 64 20 74 68 65 70 | 6f 69 6e 74 2e 76 0d 09 |and thep|oint.v..|
|00004a70| 3b 20 28 77 68 69 63 68 | 20 77 65 20 64 6f 6e 27 |; (which| we don'|
|00004a80| 74 20 63 61 72 65 20 61 | 62 6f 75 74 29 20 69 73 |t care a|bout) is|
|00004a90| 20 6a 75 73 74 20 62 65 | 79 6f 6e 64 20 74 68 65 | just be|yond the|
|00004aa0| 0d 09 3b 20 74 6f 70 2e | 20 20 70 6f 70 20 74 68 |..; top.| pop th|
|00004ab0| 65 20 70 65 6e 27 73 20 | 68 6f 72 69 7a 6f 6e 74 |e pen's |horizont|
|00004ac0| 61 6c 20 63 6f 6f 72 64 | 69 6e 61 74 65 20 69 6e |al coord|inate in|
|00004ad0| 74 6f 0d 09 3b 20 44 35 | 20 61 6e 64 20 73 75 62 |to..; D5| and sub|
|00004ae0| 74 72 61 63 74 20 64 65 | 73 74 72 65 63 74 2e 6c |tract de|strect.l|
|00004af0| 65 66 74 20 28 44 35 20 | 69 73 20 74 68 65 20 77 |eft (D5 |is the w|
|00004b00| 69 64 74 68 0d 09 3b 20 | 66 72 6f 6d 20 74 68 65 |idth..; |from the|
|00004b10| 20 6c 61 73 74 20 72 65 | 74 75 72 6e 29 2e 0d 09 | last re|turn)...|
|00004b20| 0d 09 63 6c 72 2e 6c 09 | 2d 28 53 50 29 0d 09 6d |..clr.l.|-(SP)..m|
|00004b30| 6f 76 65 2e 6c 09 53 50 | 2c 2d 28 53 50 29 0d 09 |ove.l.SP|,-(SP)..|
|00004b40| 5f 67 65 74 70 65 6e 0d | 09 6d 6f 76 65 2e 6c 09 |_getpen.|.move.l.|
|00004b50| 28 53 50 29 2b 2c 44 35 | 0d 09 73 75 62 09 44 37 |(SP)+,D5|..sub.D7|
|00004b60| 2c 44 35 0d 09 0d 09 3b | 20 44 30 20 3d 20 74 68 |,D5....;| D0 = th|
|00004b70| 65 20 6e 75 6d 62 65 72 | 20 6f 66 20 74 61 62 73 |e number| of tabs|
|00004b80| 74 6f 70 73 2e 20 20 69 | 66 20 74 68 65 72 65 20 |tops. i|f there |
|00004b90| 61 72 65 6e 27 74 0d 09 | 3b 20 61 6e 79 2c 20 62 |aren't..|; any, b|
|00004ba0| 72 61 6e 63 68 20 74 6f | 20 74 68 65 20 62 6f 74 |ranch to| the bot|
|00004bb0| 74 6f 6d 20 6f 66 20 74 | 68 65 20 6c 6f 6f 70 2e |tom of t|he loop.|
|00004bc0| 0d 09 0d 09 6d 6f 76 65 | 2e 6c 09 6e 6f 77 74 61 |....move|.l.nowta|
|00004bd0| 62 73 28 41 35 29 2c 41 | 30 0d 09 6d 6f 76 65 2e |bs(A5),A|0..move.|
|00004be0| 6c 09 28 41 30 29 2c 41 | 30 0d 09 6d 6f 76 65 09 |l.(A0),A|0..move.|
|00004bf0| 6c 61 73 74 74 61 62 28 | 41 30 29 2c 44 30 0d 09 |lasttab(|A0),D0..|
|00004c00| 62 65 71 09 65 6e 64 6c | 6f 6f 70 32 0d 09 0d 09 |beq.endl|oop2....|
|00004c10| 3b 20 73 65 61 72 63 68 | 20 74 68 65 20 74 61 62 |; search| the tab|
|00004c20| 20 74 61 62 6c 65 20 66 | 6f 72 20 74 68 65 20 66 | table f|or the f|
|00004c30| 69 72 73 74 20 74 61 62 | 20 73 74 6f 70 0d 09 3b |irst tab| stop..;|
|00004c40| 20 62 65 79 6f 6e 64 20 | 74 68 65 20 63 75 72 72 | beyond |the curr|
|00004c50| 65 6e 74 20 63 68 61 72 | 61 63 74 65 72 2e 20 20 |ent char|acter. |
|00004c60| 74 68 65 20 6c 6f 6f 70 | 20 69 73 0d 09 3b 20 6c |the loop| is..; l|
|00004c70| 69 6d 69 74 65 64 20 62 | 79 20 6c 61 73 74 74 61 |imited b|y lastta|
|00004c80| 62 20 28 74 68 65 20 6e | 75 6d 62 65 72 20 6f 66 |b (the n|umber of|
|00004c90| 20 74 61 62 20 73 74 6f | 70 73 29 2e 0d 20 20 20 | tab sto|ps).. |
|00004ca0| 20 20 20 20 20 20 0d 09 | 73 75 62 71 09 23 31 2c | ..|subq.#1,|
|00004cb0| 44 30 0d 09 6c 65 61 09 | 74 61 62 73 28 41 30 29 |D0..lea.|tabs(A0)|
|00004cc0| 2c 41 30 0d 40 30 09 63 | 6d 70 09 28 41 30 29 2b |,A0.@0.c|mp.(A0)+|
|00004cd0| 2c 44 35 0d 09 64 62 6c | 74 09 44 30 2c 40 30 0d |,D5..dbl|t.D0,@0.|
|00004ce0| 09 0d 09 3b 20 69 66 20 | 74 68 65 20 6c 6f 6f 70 |...; if |the loop|
|00004cf0| 20 65 6e 64 65 64 20 62 | 79 20 69 6e 64 65 78 20 | ended b|y index |
|00004d00| 69 6e 73 74 65 61 64 20 | 6f 66 0d 09 3b 20 73 61 |instead |of..; sa|
|00004d10| 74 69 73 66 79 69 6e 67 | 20 74 68 65 20 63 6f 6e |tisfying| the con|
|00004d20| 64 69 74 69 6f 6e 2c 20 | 74 68 65 6e 20 74 68 65 |dition, |then the|
|00004d30| 20 63 75 72 72 65 6e 74 | 0d 09 3b 20 63 68 61 72 | current|..; char|
|00004d40| 61 63 74 65 72 20 69 73 | 20 70 61 73 74 20 74 68 |acter is| past th|
|00004d50| 65 20 6c 61 73 74 20 74 | 61 62 20 73 74 6f 70 2c |e last t|ab stop,|
|00004d60| 20 73 6f 0d 09 3b 20 74 | 68 65 72 65 20 69 73 20 | so..; t|here is |
|00004d70| 6e 6f 20 74 61 62 20 74 | 6f 20 69 6e 73 65 72 74 |no tab t|o insert|
|00004d80| 2e 20 20 0d 20 20 20 20 | 20 20 20 20 20 0d 09 62 |. . | ..b|
|00004d90| 67 65 09 65 6e 64 6c 6f | 6f 70 32 0d 09 0d 09 3b |ge.endlo|op2....;|
|00004da0| 20 67 65 74 20 74 68 65 | 20 74 61 62 73 74 6f 70 | get the| tabstop|
|00004db0| 2c 20 73 75 62 74 72 61 | 63 74 20 74 68 65 20 77 |, subtra|ct the w|
|00004dc0| 69 64 74 68 20 73 6f 20 | 66 61 72 2c 0d 09 3b 20 |idth so |far,..; |
|00004dd0| 61 6e 64 20 6d 6f 76 65 | 20 74 68 65 20 70 65 6e |and move| the pen|
|00004de0| 20 74 68 61 74 20 6d 75 | 63 68 2e 0d 09 0d 09 6d | that mu|ch.....m|
|00004df0| 6f 76 65 09 2d 32 28 41 | 30 29 2c 44 30 0d 09 73 |ove.-2(A|0),D0..s|
|00004e00| 75 62 09 44 35 2c 44 30 | 0d 09 6d 6f 76 65 09 44 |ub.D5,D0|..move.D|
|00004e10| 30 2c 2d 28 53 50 29 0d | 09 63 6c 72 09 2d 28 53 |0,-(SP).|.clr.-(S|
|00004e20| 50 29 0d 09 5f 6d 6f 76 | 65 0d 09 0d 09 3b 20 69 |P).._mov|e....; i|
|00004e30| 6e 63 72 65 6d 65 6e 74 | 20 74 68 65 20 63 6f 75 |ncrement| the cou|
|00004e40| 6e 74 20 6f 66 20 63 68 | 61 72 61 63 74 65 72 73 |nt of ch|aracters|
|00004e50| 20 73 69 6e 63 65 20 6c | 61 73 74 0d 09 3b 20 74 | since l|ast..; t|
|00004e60| 61 62 2e 20 20 64 65 63 | 72 65 6d 65 6e 74 20 6c |ab. dec|rement l|
|00004e70| 6f 6f 70 20 63 6f 75 6e | 74 65 72 20 61 6e 64 20 |oop coun|ter and |
|00004e80| 6c 6f 6f 70 20 62 61 63 | 6b 20 69 66 0d 09 3b 20 |loop bac|k if..; |
|00004e90| 6e 6f 74 20 65 78 68 61 | 75 73 74 65 64 2e 0d 09 |not exha|usted...|
|00004ea0| 0d 65 6e 64 6c 6f 6f 70 | 32 0d 09 61 64 64 71 09 |.endloop|2..addq.|
|00004eb0| 23 31 2c 44 36 0d 09 64 | 62 66 09 44 34 2c 63 68 |#1,D6..d|bf.D4,ch|
|00004ec0| 6b 74 61 62 32 0d 09 0d | 09 3b 20 64 72 61 77 20 |ktab2...|.; draw |
|00004ed0| 74 68 65 20 6c 61 73 74 | 20 6f 66 20 74 68 65 20 |the last| of the |
|00004ee0| 74 65 78 74 2e 0d 09 0d | 09 6d 6f 76 65 09 44 36 |text....|.move.D6|
|00004ef0| 2c 2d 28 53 50 29 0d 09 | 6d 6f 76 65 2e 6c 09 41 |,-(SP)..|move.l.A|
|00004f00| 33 2c 2d 28 53 50 29 0d | 09 6d 6f 76 65 2e 6c 09 |3,-(SP).|.move.l.|
|00004f10| 33 38 28 53 50 29 2c 2d | 28 53 50 29 09 3b 20 6e |38(SP),-|(SP).; n|
|00004f20| 75 6d 65 72 0d 09 6d 6f | 76 65 2e 6c 09 33 38 28 |umer..mo|ve.l.38(|
|00004f30| 53 50 29 2c 2d 28 53 50 | 29 09 3b 20 64 65 6e 6f |SP),-(SP|).; deno|
|00004f40| 6d 0d 09 5f 73 74 64 74 | 65 78 74 0d 09 0d 09 3b |m.._stdt|ext....;|
|00004f50| 20 72 65 73 74 6f 72 65 | 20 74 68 65 20 72 65 67 | restore| the reg|
|00004f60| 69 73 74 65 72 73 2c 20 | 63 6c 65 61 6e 20 75 70 |isters, |clean up|
|00004f70| 20 74 68 65 20 73 74 61 | 63 6b 2c 0d 09 3b 20 61 | the sta|ck,..; a|
|00004f80| 6e 64 20 72 65 74 75 72 | 6e 2e 0d 09 0d 73 74 6f |nd retur|n....sto|
|00004f90| 70 74 6f 0d 09 6d 6f 76 | 65 6d 2e 6c 09 28 53 50 |pto..mov|em.l.(SP|
|00004fa0| 29 2b 2c 41 32 2d 41 33 | 2f 44 34 2d 44 37 0d 09 |)+,A2-A3|/D4-D7..|
|00004fb0| 6d 6f 76 65 2e 6c 09 28 | 53 50 29 2c 41 30 0d 09 |move.l.(|SP),A0..|
|00004fc0| 61 64 64 09 23 24 31 32 | 2c 53 50 0d 09 6a 6d 70 |add.#$12|,SP..jmp|
|00004fd0| 09 28 41 30 29 0d 20 0d | 3b 2a 2a 2a 2a 2a 2a 2a |.(A0). .|;*******|
|00004fe0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00004ff0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005000| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005010| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0d 3b 0d 3b 09 74 73 |********|*.;.;.ts|
|00005020| 74 74 61 62 0d 3b 0d 3b | 09 6f 6e 20 65 6e 74 72 |ttab.;.;|.on entr|
|00005030| 79 3a 0d 3b 09 09 41 30 | 09 70 6f 69 6e 74 65 72 |y:.;..A0|.pointer|
|00005040| 20 74 6f 20 68 74 65 78 | 74 20 62 75 66 66 65 72 | to htex|t buffer|
|00005050| 0d 3b 09 09 44 36 09 63 | 68 61 72 20 70 6f 73 69 |.;..D6.c|har posi|
|00005060| 74 69 6f 6e 20 6f 66 20 | 66 69 72 73 74 20 63 68 |tion of |first ch|
|00005070| 61 72 20 69 6e 20 6c 69 | 6e 65 0d 3b 09 09 44 37 |ar in li|ne.;..D7|
|00005080| 09 74 65 73 74 20 63 68 | 61 72 20 70 6f 73 69 74 |.test ch|ar posit|
|00005090| 69 6f 6e 0d 3b 0d 3b 09 | 73 65 74 73 20 7a 2d 62 |ion.;.;.|sets z-b|
|000050a0| 69 74 20 6f 66 20 63 63 | 72 20 69 66 20 63 68 61 |it of cc|r if cha|
|000050b0| 72 20 6e 6f 74 20 70 73 | 65 75 64 6f 2d 72 65 74 |r not ps|eudo-ret|
|000050c0| 75 72 6e 0d 3b 09 70 72 | 65 73 65 72 76 65 73 20 |urn.;.pr|eserves |
|000050d0| 61 6c 6c 20 72 65 67 69 | 73 74 65 72 73 20 62 75 |all regi|sters bu|
|000050e0| 74 20 41 30 2c 20 44 30 | 20 61 6e 64 20 44 31 0d |t A0, D0| and D1.|
|000050f0| 3b 0d 3b 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |;.;*****|********|
|00005100| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005110| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005120| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005130| 2a 2a 2a 0d 0d 74 73 74 | 74 61 62 0d 09 0d 09 3b |***..tst|tab....;|
|00005140| 20 69 66 20 74 68 65 20 | 63 68 61 72 61 63 74 65 | if the |characte|
|00005150| 72 20 69 73 6e 27 74 20 | 61 20 74 61 62 2c 20 72 |r isn't |a tab, r|
|00005160| 65 74 75 72 6e 20 28 7a | 2d 62 69 74 0d 09 3b 20 |eturn (z|-bit..; |
|00005170| 69 73 20 73 65 74 20 62 | 79 20 63 6f 6d 70 61 72 |is set b|y compar|
|00005180| 69 73 6f 6e 29 2e 0d 09 | 0d 09 63 6d 70 2e 62 09 |ison)...|..cmp.b.|
|00005190| 23 39 2c 28 41 30 2c 44 | 37 29 0d 09 62 6e 65 09 |#9,(A0,D|7)..bne.|
|000051a0| 40 30 0d 09 0d 09 3b 20 | 44 30 20 3d 20 77 69 64 |@0....; |D0 = wid|
|000051b0| 74 68 20 66 72 6f 6d 20 | 74 68 65 20 62 65 67 69 |th from |the begi|
|000051c0| 6e 6e 69 6e 67 20 6f 66 | 20 74 68 65 20 6c 69 6e |nning of| the lin|
|000051d0| 65 0d 09 3b 20 74 6f 20 | 74 68 65 20 74 61 62 2e |e..; to |the tab.|
|000051e0| 0d 20 20 20 20 20 20 20 | 20 20 0d 09 63 6c 72 09 |. | ..clr.|
|000051f0| 2d 28 53 50 29 0d 09 6d | 6f 76 65 2e 6c 09 41 30 |-(SP)..m|ove.l.A0|
|00005200| 2c 2d 28 53 50 29 0d 09 | 6d 6f 76 65 09 44 36 2c |,-(SP)..|move.D6,|
|00005210| 2d 28 53 50 29 0d 09 6d | 6f 76 65 09 44 37 2c 2d |-(SP)..m|ove.D7,-|
|00005220| 28 53 50 29 0d 09 73 75 | 62 09 44 36 2c 28 53 50 |(SP)..su|b.D6,(SP|
|00005230| 29 0d 09 5f 74 65 78 74 | 77 69 64 74 68 0d 09 6d |).._text|width..m|
|00005240| 6f 76 65 09 28 53 50 29 | 2b 2c 44 30 0d 09 0d 09 |ove.(SP)|+,D0....|
|00005250| 3b 20 44 31 20 3d 20 74 | 68 65 20 6e 75 6d 62 65 |; D1 = t|he numbe|
|00005260| 72 20 6f 66 20 74 61 62 | 73 74 6f 70 73 2e 20 20 |r of tab|stops. |
|00005270| 69 66 20 74 68 65 20 6c | 61 73 74 0d 09 3b 20 74 |if the l|ast..; t|
|00005280| 61 62 20 73 74 6f 70 20 | 69 73 20 62 65 79 6f 6e |ab stop |is beyon|
|00005290| 64 20 74 68 65 20 63 68 | 61 72 61 63 74 65 72 2c |d the ch|aracter,|
|000052a0| 20 74 68 65 6e 0d 09 3b | 20 44 30 20 3d 20 61 6c | then..;| D0 = al|
|000052b0| 6c 20 31 27 73 2c 20 73 | 6f 20 74 68 65 20 74 65 |l 1's, s|o the te|
|000052c0| 73 74 20 77 69 6c 6c 20 | 73 65 74 20 74 68 65 0d |st will |set the.|
|000052d0| 09 3b 20 7a 2d 62 69 74 | 2e 0d 20 20 20 20 20 20 |.; z-bit|.. |
|000052e0| 20 20 20 0d 09 6d 6f 76 | 65 2e 6c 09 6e 6f 77 74 | ..mov|e.l.nowt|
|000052f0| 61 62 73 28 41 35 29 2c | 41 30 0d 09 6d 6f 76 65 |abs(A5),|A0..move|
|00005300| 2e 6c 09 28 41 30 29 2c | 41 30 0d 09 6d 6f 76 65 |.l.(A0),|A0..move|
|00005310| 09 6c 61 73 74 74 61 62 | 28 41 30 29 2c 44 31 0d |.lasttab|(A0),D1.|
|00005320| 09 6c 65 61 09 74 61 62 | 73 28 41 30 29 2c 41 30 |.lea.tab|s(A0),A0|
|00005330| 0d 09 61 64 64 09 44 31 | 2c 44 31 0d 09 63 6d 70 |..add.D1|,D1..cmp|
|00005340| 09 2d 32 28 41 30 2c 44 | 31 29 2c 44 30 0d 09 73 |.-2(A0,D|1),D0..s|
|00005350| 6c 74 09 44 30 0d 09 74 | 73 74 2e 62 09 44 30 0d |lt.D0..t|st.b.D0.|
|00005360| 09 0d 09 3b 20 72 65 74 | 75 72 6e 2e 0d 20 20 20 |...; ret|urn.. |
|00005370| 20 20 20 20 20 20 0d 40 | 30 09 72 74 73 0d 0d 3b | .@|0.rts..;|
|00005380| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005390| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000053a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000053b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000053c0| 0d 0d 09 65 6e 64 0d 0d | 3b 2a 2a 2a 2a 2a 2a 2a |...end..|;*******|
|000053d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000053e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000053f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00005400| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 0d 00 00 00 00 00 00 |********|*.......|
|00005410| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005420| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005430| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005440| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005450| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005460| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005470| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005480| 00 00 01 00 00 00 01 16 | 00 00 00 16 00 00 00 46 |........|.......F|
|00005490| 00 08 00 a2 00 c0 20 20 | 00 00 00 1f 00 88 00 59 |...... |.......Y|
|000054a0| 00 38 00 79 00 58 00 07 | ff 80 00 08 00 00 00 08 |.8.y.X..|........|
|000054b0| 1a 31 2e 20 44 44 45 78 | 70 61 6e 64 45 78 70 61 |.1. DDEx|pandExpa|
|000054c0| 6e 64 54 65 6d 70 46 69 | 6c 65 20 78 02 00 00 00 |ndTempFi|le x....|
|000054d0| 00 00 44 44 54 4d 44 44 | 41 50 01 00 00 00 00 00 |..DDTMDD|AP......|
|000054e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000054f0| 00 00 a5 f4 98 11 00 00 | 53 8a 00 00 01 5c 00 20 |........|S....\. |
|00005500| 00 01 00 20 01 fe 00 18 | 00 00 00 04 00 00 00 00 |... ....|........|
|00005510| c0 00 00 01 20 00 00 02 | 50 00 00 00 88 00 00 00 |.... ...|P.......|
|00005520| 08 00 00 00 10 00 00 3c | 00 1a 00 02 00 46 00 96 |.......<|.....F..|
|00005530| 00 32 00 aa 00 64 00 50 | 00 47 00 96 00 82 00 aa |.2...d.P|.G......|
|00005540| 00 be 00 51 00 46 00 06 | 45 6a 65 63 74 20 00 47 |...Q.F..|Eject .G|
|00005550| 00 08 52 65 73 74 61 72 | 74 20 00 50 00 24 9e fc |..Restar|t .P.$..|
|00005560| 00 28 20 4f 31 7c ff fb | 00 18 31 7c 00 07 00 1a |.( O1|..|..1|....|
|00005570| 31 78 02 10 00 16 a0 04 | de fc 00 28 4e f9 00 40 |1x......|...(N..@|
|00005580| 00 00 00 0a 00 0c 06 4d | 6f 6e 61 63 6f 9c 00 00 |.......M|onaco...|
|00005590| 00 04 00 04 00 10 00 00 | 01 00 00 00 01 16 00 00 |........|........|
|000055a0| 00 16 00 00 00 46 00 00 | cc 24 02 94 00 00 00 1c |.....F..|.$......|
|000055b0| 00 46 00 01 45 46 4e 54 | 00 00 00 12 45 54 41 42 |.F..EFNT|....ETAB|
|000055c0| 00 00 00 1e 03 eb ff ff | 00 00 00 00 00 00 e5 90 |........|........|
|000055d0| 03 ec ff ff 00 00 00 0e | 00 00 ce f8 00 00 00 00 |........|........|
|000055e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000055f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+